我已经习惯了.Length
或其他任何可能返回int
的语言,但我正在学习C ++课程,所以我必须知道如何做到这一点。我让我的教授解释,但她不想,因为班上的其他人都在学习数组。
首先,我不认为我完全理解.size
返回的是什么。如何将.size
投放到int
?如果执行此操作效率不高,如何循环向量的元素?
答案 0 :(得分:3)
std::vector::size
是一个成员函数。你必须调用它,它返回向量的大小。您想使用.size()
而不是.size
。使用.size
引用函数(例如,如果你想获取它的地址),.size()
调用函数。
有几种循环过矢量的方法。最通用的方法是range-based for loop。它适用于所有标准容器,任何提供正确begin
和end
方法的用户定义容器,以及数组。例如:
for(const auto & element: my_vect) {
proc(element);
}
将使用向量proc
中的每个元素调用函数my_vect
。
答案 1 :(得分:1)
类std::vector
有一个成员函数size()
,它返回推入的元素数。所以用它来获取整数值的大小:
std::vector<int> vecInt;
vecInt.push_back(1);
vecInt.push_back(2);
vecInt.push_back(3);
vecInt.push_back(4);
vecInt.push_back(5);
std::cout << vecInt.size(); // 5