Zero-Initialize array member na lista de inicialização
Eu tenho uma classe com um membro da matriz que gostaria de inicializar para todos os zeros.
class X
{
private:
int m_array[10];
};
Para uma variável local, existe uma maneira simples de inicializar com zero (consulteaqui):
int myArray[10] = {};
Além disso, o alunom_array
claramente precisa ser inicializado, pois as ints de inicialização padrão deixarão lixo aleatório, conforme explicadoaqui.
No entanto, posso ver duas maneiras de fazer isso para uma matriz de membros:
Entre parênteses:
public:
X()
: m_array()
{}
Com aparelho:
public:
X()
: m_array{}
{}
Ambos estão corretos? Existe alguma diferença entre os dois no C ++ 11?