#include <iostream>
#include <vector>
int main()
{
static const unsigned TOTAL = 4;
std::vector<int> v[TOTAL];
v[2].push_back(37);
//std::cout << v.size(); error
std::cout << v[0].size();
std::cout << v[2].size();
return 0;
}
是否可以像上面的代码一样用方括号来实例化 std::vector
?
MSVS 和 ideone 编译得很好,但是 vector 搞砸了(见错误行)。
我知道我可以使用 resize
,但这是怎么回事?
最佳答案
您正在创建一个 TOTAL
大小的 vector 数组。
你需要的是
std::vector<int> v(TOTAL);
这将构造一个具有 TOTAL
个零初始化 int
的 vector 。
然后,
std::cout << v.size() << std::endl; // prints 4
std::cout << v[0] << std::endl; // prints 0
等等。
关于c++ - 创建带括号的 std::vector 作为默认大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22039931/