一次向c ++ vector添加多个元素

时间:2013-11-08 17:46:22

标签: c++ vector

我想知道是否可以更容易地将多个元素推送到c ++向量

例如

我创建了5个对象

A a1;
A a2;
A a3;
A a4;
A a5;

目前,我像这样推回所有这些

vector<A> list;
list.push_back(a1);
list.push_back(a2);
list.push_back(a3);
list.push_back(a4);
list.push_back(a5);

我想知道这是否可以像矢量列表(a1,a2,a3,a4,a5)更简洁地完成..等等谢谢!

1 个答案:

答案 0 :(得分:6)

C++11中,您可以使用vector的初始化列表构造函数:

vector<A> list {a1, a2, a3, a4, a5};

如果C++11不可用,您可以使用基于iterator的构造函数创建临时数组,但它不像C++11解决方案那样干净:

A tmp_list[] = {a1, a2, a3, a4, a5};
vector<A> list(tmp_list, tmp_list + 5};