1

我有一个按最低数字到最高数字排序的向量。我知道最大的数字包含在向量的最后一个元素中。我的班级有一个叫 number 的成员。我想从向量的最后一个元素中取出我的班级的数字。我想让它尽可能高效。现在我有一个迭代器,它只通过向量并设置maxNumber = it->number;完全多余的,因为我已经排序并且最后有最大的。我曾尝试使用智能指针,但我对如何在没有迭代器的情况下输入数字有点困惑。

基本上我想从向量的最后一个元素中取出 myClass.number 并将其设置为一个变量。

谢谢

4

2 回答 2

1

一种方法是使用[]向量的最后一个元素的运算符和索引,如下所示:

maxNumber = vec[vec.size()-1].number;

因为您知道maxNumber位于 vector 的最后一个元素中vec

于 2013-05-23T02:43:38.090 回答
1

您始终可以使用rbeginor获取最后一个元素back,如下所示:

maxNumber = myVector.rbegin()->number;
maxNumber = myVector.back().number;
于 2013-05-23T02:47:03.190 回答