Как инициализировать элементы массива с помощью списка инициализаторов? - PullRequest
7 голосов
/ 30 декабря 2011

Я пытаюсь что-то вроде этого (который не компилируется):

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

Как это лучше всего сделать в c ++?

Примечание: я мог бы хотеть установить только некоторые элементов массива с этим методом.

1 Ответ

6 голосов
/ 30 декабря 2011

В 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...