У меня есть класс с членом массива, который я бы хотел инициализировать для всех нулей.
class X
{
private:
int m_array[10];
};
Для локальной переменной существует простой способ инициализации нуля (см. здесь):
int myArray[10] = {};
Кроме того, член класса m_array
явно должен быть инициализирован, поскольку инициализируемые по умолчанию ints просто оставят случайный мусор, как описано здесь.
Однако я могу видеть два способа сделать это для массива-члена:
С круглыми скобками:
public:
X()
: m_array()
{}
С фигурными скобками:
public:
X()
: m_array{}
{}
Правильны ли они? Есть ли разница между двумя в С++ 11?