C++中vector <int> array;如何像下面数组一样赋值

2024-12-31 02:45:10
推荐回答(3个)
回答1:

vector中没有像这样直接赋值的办法,如果一定要的话需要经过两步:
int a[4]={0,10,22,3};
std::vector array(a, a + 4);
或者是三步:
int a[4]={0,10,22,3};
std::vector array;
std::copy(a, a+4, std::back_inserter(array)); // 必须#include

回答2:

vector text(10); //初始化大小为10,每个值均为0

vector text(10,1); //初始化大小为10,每个值均为1

int array[10]={...};
vector text(array,array+10); //用array对vector进行初始化

vector可以用两个迭代器来初始化。
由于数组可以看做一个随机访问迭代器,所以array+10相当于指定了迭代器范围是从first到first+10。
另外vector的构造函数中用list::begin(),list::begin()+10之类的也是可以的。

回答3:

可以用boost的的array类,具体参考boost说明