我试图获取向量的大小作为数字,以便我可以将其用作constexpr。
返回vector.size()的大小类型不是常量表达式。因此,我想用它sizeof(vector) / sizeof(vector[0])来获取一个整数值,我可以在 constexpr 初始化中手动使用它。
const vector<int> int_vec = {1, 2, 3, 4, 5, 6, 7, 8, 9};
cout << sizeof(int_vec) / sizeof(int_vec[0]) << endl;
Run Code Online (Sandbox Code Playgroud)
我的 CLion 编译器总是打印 6。我不明白为什么。任何帮助将不胜感激。
感谢您的回复。我了解到我可以用来sizeof(arr) / sizeof(arr[0])查找数组的长度。那么这对于向量怎么会不起作用呢?