简体   繁体   English

如何使用初始化列表初始化数组元素?

[英]How to initialize array elements by using initializer list?

Im trying something like this (which doesnt compile): 我正在尝试像这样的东西(不会编译):

struct mystruct {
    somestruct arr[4];
    mystruct(somestruct val) : arr[0](val), arr[1](val), arr[2](val), arr[3](val) {}
};

How is this best done in c++ ? 如何在c ++中做到最好?

Note: i might want to set only some of the array elements with this method. 注意:我可能只想使用此方法设置一些数组元素。

In C++11, if you want to set all the elements: 在C ++ 11中,如果要设置所有元素:

mystruct(somestruct val) : arr{val,val,val,val} {}

In C++03, or C++11 if you only want to set some elements: 在C ++ 03或C ++ 11中,如果您只想设置一些元素:

mystruct(somestruct val) {
    arr[0] = val;
    arr[1] = val;
    arr[2] = val;
    arr[3] = val;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM