2012-05-22 12 views
7

Tengo una pregunta básica. Tengo una clase con un miembro de datos: double _mydata[N]. (N es un parámetro de plantilla). ¿Cuál es la sintaxis para inicializar estos datos a cero con una lista de inicialización del constructor? ¿_mydata({0}) está de acuerdo con el estándar C++ (y por lo tanto para todos los compiladores)?C++: lista de inicialización del constructor para una matriz?

Muchas gracias.

+0

Bueno , Creo que podrías responder la mitad de tu pregunta por tu cuenta, ya que '_mydata ({0})' ni siquiera compilaría. –

Respuesta

12

No, antes de C++ 11 que tiene que hacer sólo esta por defecto-inicializar cada elemento de la matriz:

: _mydata() 

La forma en que lo tienes escrito no va a funcionar.

con C++ 11 es más recomendable el uso de sintaxis uniforme de inicialización:

: _mydata { } 

Y de esa manera en realidad se puede poner las cosas en la matriz que antes no podían:

: _mydata { 1, 2, 3 } 
Cuestiones relacionadas