std :: vector数组的大小

Aga*_*ain 2 c++ size vector

我想检查数组中的size()数字或数字.rowsstd::vector()

我有矢量

std::vector<int> vec[3];
Run Code Online (Sandbox Code Playgroud)

vec.size() 不适用于上面的矢量声明.

Som*_*ude 8

至于为什么vec.size()不起作用,因为vec它不是一个向量,它是一个数组(向量),而C++中的数组不是对象(在OOP意义上它们不是类的实例),因此没有成员函数.

如果你想3在做的时候得到结果vec.size()你要么必须使用例如std::array:

std::array<std::vector<int>, 3> vec;
std::cout << "vec.size() = " << vec.size() << '\n';  // Will output 3
Run Code Online (Sandbox Code Playgroud)

或者如果你没有,std::array那么使用向量向量并通过调用正确的构造函数来设置大小:

std::vector<std::vector<int>> vec(3);
std::cout << "vec.size() = " << vec.size() << '\n';  // Will output 3
Run Code Online (Sandbox Code Playgroud)