我想以最有效和最简单的方式使用 vector 实现类似于下面提到的代码。我该怎么做?
int a[1005];
for(int i=1;i<=1000;i+=5)
a[i]=i*i;
当我尝试使用 vector 做同样的事情时,编译器抛出断言失败错误..下标超出范围...
vector<int> a;
for(int i=1;i<=1000;i+=5)
a[i]=i*i;
所以,我尝试了 pushback 函数......但是 vector 的索引只能从 0 增加到调用 pushback 的次数,而不是我想要的方式,即 1,6,11,16
vector<int> a;
for(int i=1;i<=1000;i+=5)
a.pushback(i*i);
最佳答案
将具有所需大小的 vector 声明为构造函数参数:vector<int> a(1000);
关于c++ - 以非顺序顺序在 vector 中分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30652983/