2012-05-22 4 views
7

У меня есть основной вопрос. У меня есть класс с членом данных: double _mydata[N]. (N - параметр шаблона). Что такое синтаксис для инициализации этих данных до нуля с помощью списка инициализации конструктора? _mydata({0}) OK в соответствии со стандартом C++ (и так для всех компиляторов)?C++: список инициализации конструктора для массива?

спасибо.

+0

Ну , Я думаю, что вы могли бы ответить на половину своего вопроса довольно легко, так как '_mydata ({0})' даже не компилировался. –

ответ

12

Нет, до C++ 11 вы должны сделать это только по умолчанию инициализировать каждый элемент массива:

: _mydata() 

Образом, у вас написано, не будет работать.

С C++ 11 это более рекомендуется использовать единообразный синтаксис инициализации:

: _mydata { } 

И таким образом вы можете поместить вещи в массив, который вы не могли раньше:

: _mydata { 1, 2, 3 } 
Смежные вопросы