3

我想知道是否可以更轻松地将多个元素 push_back 到 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)..etc 那样更简洁地完成。谢谢!

4

1 回答 1

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};
于 2013-11-08T17:47:59.137 回答