
C++中vector <int> array;如何像下面数组一样赋值
数组赋值inta[4]={0,10,22,3};用上面的向量怎么实现类似这样数组的赋值,不能用循环调用push_back()类似的成员函数...
数组赋值int a[4]={0,10,22,3};
用上面的向量怎么实现类似这样数组的赋值,不能用循环调用push_back()类似的成员函数 展开
用上面的向量怎么实现类似这样数组的赋值,不能用循环调用push_back()类似的成员函数 展开
3个回答
展开全部
vector中没有像这样直接赋值的办法,如果一定要的话需要经过两步:
int a[4]={0,10,22,3};
std::vector<int> array(a, a + 4);
或者是三步:
int a[4]={0,10,22,3};
std::vector<int> array;
std::copy(a, a+4, std::back_inserter(array)); // 必须#include <iterator>
int a[4]={0,10,22,3};
std::vector<int> array(a, a + 4);
或者是三步:
int a[4]={0,10,22,3};
std::vector<int> array;
std::copy(a, a+4, std::back_inserter(array)); // 必须#include <iterator>
展开全部
vector <int> text(10); //初始化大小为10,每个值均为0
vector <int> text(10,1); //初始化大小为10,每个值均为1
int array[10]={...};
vector <int> text(array,array+10); //用array对vector进行初始化
vector可以用两个迭代器来初始化。
由于数组可以看做一个随机访问迭代器,所以array+10相当于指定了迭代器范围是从first到first+10。
另外vector的构造函数中用list<int>::begin(),list<int>::begin()+10之类的也是可以的。
vector <int> text(10,1); //初始化大小为10,每个值均为1
int array[10]={...};
vector <int> text(array,array+10); //用array对vector进行初始化
vector可以用两个迭代器来初始化。
由于数组可以看做一个随机访问迭代器,所以array+10相当于指定了迭代器范围是从first到first+10。
另外vector的构造函数中用list<int>::begin(),list<int>::begin()+10之类的也是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用boost的的array类,具体参考boost说明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询