C++对象实例化的数组(我正在尝试查找编译时解决方案)

Car*_*Pun 5 c++ c++11

例如,我有以下C++类:

struct A {
  A(const int value) {}
};
Run Code Online (Sandbox Code Playgroud)

如果我想要一个对象,我可以这样做:

A a = A(3);
Run Code Online (Sandbox Code Playgroud)

我想构造其中的10个对象,我不知道如何静态实例化.

A a[10]; // This won't compile, as struct A constructor needs an argument 
Run Code Online (Sandbox Code Playgroud)

我可以使用指针A *a,然后逐个创建对象,但我不确定是否有C++11可用的新功能允许我可以静态地执行这些操作?

Pra*_*ian 7

列表初始化允许您编写

A a[10]{0,1,2,3,4,5,6,7,8,9};
Run Code Online (Sandbox Code Playgroud)

列表中的每个元素都将传递给A构造函数.

现场演示