c++ - std::vector 数组的大小

标签 c++ vector size

我想检查 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/

相关文章:

C++标准歧义

c++ - 用 C++ 连接到 UDP 跟踪器

C++ 删除 vector 、对象、释放内存

vector - clojure:从 xml 创建 map 向量

java - 增加 JButton 中的字体大小

c++是在参数化构造函数中调用的默认构造函数吗?

c++ - QTreeWidget - 禁止在顶层放置

r - 除空 grep 之外的所有内容的子集都会返回空向量

android - 如何使 Activity 出现在android中的半屏中

Flutter,如何获取小部件的大小?