你怎么能把vector的大小作为int?

时间:2017-10-13 18:11:06

标签: c++ vector

我已经习惯了.Length或其他任何可能返回int的语言,但我正在学习C ++课程,所以我必须知道如何做到这一点。我让我的教授解释,但她不想,因为班上的其他人都在学习数组。

首先,我不认为我完全理解.size返回的是什么。如何将.size投放到int?如果执行此操作效率不高,如何循环向量的元素?

2 个答案:

答案 0 :(得分:3)

std::vector::size是一个成员函数。你必须调用它,它返回向量的大小。您想使用.size()而不是.size。使用.size引用函数(例如,如果你想获取它的地址),.size()调用函数。

有几种循环过矢量的方法。最通用的方法是range-based for loop。它适用于所有标准容器,任何提供正确beginend方法的用户定义容器,以及数组。例如:

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