Templates std::array中元素的构造函数的参数

Templates std::array中元素的构造函数的参数,templates,c++11,Templates,C++11,以下内容按预期打印“1\n 1\n 1”。我是否可以构造“ar”,使它打印“2\n2\n2”,而不给它一个显式的初始值设定项列表(…ar={a(2),a(2),a(2)}) #包括 #包括 甲级{ 公众: A(int i=1):m_i(i){}; 国际货币基金组织; }; int main(){ std::阵列ar; 用于(自动&v:ar){ std::cout不太可能;数组没有任何有趣的构造函数,比如向量的向量(size\u type,t=t()) 最接近的方法是使用填充,可能是使用初始化la

以下内容按预期打印“1\n 1\n 1”。我是否可以构造“ar”,使它打印“2\n2\n2”,而不给它一个显式的初始值设定项列表(…ar={a(2),a(2),a(2)})

#包括
#包括
甲级{
公众:
A(int i=1):m_i(i){};
国际货币基金组织;
};
int main(){
std::阵列ar;
用于(自动&v:ar){

std::cout不太可能;
数组
没有任何有趣的构造函数,比如
向量
向量(size\u type,t=t())

最接近的方法是使用
填充
,可能是使用初始化lambda:

std::array<A, 3> ar = []{ std::array<A, 3> ar; ar.fill(2); return ar; }();
std::array ar=[]{std::array ar;ar.fill(2);返回ar;}();
std::array<A, 3> ar = []{ std::array<A, 3> ar; ar.fill(2); return ar; }();