我想检查 std::vector()
数组中的 size()
或 rows
的数量。
我有像这样的 vector
std::vector<int> vec[3];
vec.size()
不适用于上述 vector 声明。
最佳答案
至于为什么 vec.size()
不起作用,那是因为 vec
不是 vector ,它是一个数组( vector ),并且 C++ 中的数组不是对象(在 OOP 意义上,它们不是类的实例),因此没有成员函数。
如果你想在执行 vec.size()
时得到结果 3
那么你要么必须使用例如std::array
:
std::array<std::vector<int>, 3> vec;
std::cout << "vec.size() = " << vec.size() << '\n'; // Will output 3
或者,如果您没有 std::array
,则使用 vector 的 vector 并通过调用正确的 constructor 来设置大小:
std::vector<std::vector<int>> vec(3);
std::cout << "vec.size() = " << vec.size() << '\n'; // Will output 3
关于c++ - std::vector 数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37070591/