#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;
}
Run Code Online (Sandbox Code Playgroud)
是否可以std::vector像上面的代码一样使用括号进行instatnitate ?
MSVS和ideone编译得很好,但是向量混乱了(参见错误行).
我知道我可以使用resize,但这里发生了什么?
您正在创建一个TOTAL大小的向量数组.
你需要的是什么
std::vector<int> v(TOTAL);
Run Code Online (Sandbox Code Playgroud)
这构造了一个TOTAL零初始化的向量ints.
然后,
std::cout << v.size() << std::endl; // prints 4
std::cout << v[0] << std::endl; // prints 0
Run Code Online (Sandbox Code Playgroud)
等等.
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |