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

How to initialize array elements by using initializer list?

本文关键字:初始化 数组元素 列表 何使用      更新时间:2023-10-16

我尝试这样做(不编译):

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

如何在c++中最好地做到这一点?

注意:我可能希望在此方法中只设置一些数组元素。

在c++ 11中,如果你想设置所有的元素:

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

在c++ 03或c++ 11中,如果你只想设置一些元素:

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