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

kof*_*rts 3 c++ vector

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

例如

我创建了5个对象

A a1;
A a2;
A a3;
A a4;
A a5;
Run Code Online (Sandbox Code Playgroud)

目前,我这样推回他们所有人

vector<A> list;
list.push_back(a1);
list.push_back(a2);
list.push_back(a3);
list.push_back(a4);
list.push_back(a5);
Run Code Online (Sandbox Code Playgroud)

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

Cha*_*had 6

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

vector<A> list {a1, a2, a3, a4, a5};
Run Code Online (Sandbox Code Playgroud)

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

A tmp_list[] = {a1, a2, a3, a4, a5};
vector<A> list(tmp_list, tmp_list + 5};
Run Code Online (Sandbox Code Playgroud)