¿Cuando hay que usar c-like, constructor y uniform?

Iniciado por 4dr14n31t0r, 18 Septiembre 2016, 18:45 PM

0 Miembros y 1 Visitante están viendo este tema.

4dr14n31t0r

Parece que hay 3 formas de inicializar variables, pero no me queda claro cuando usar una u otra.

Código (cpp) [Seleccionar]
int n1 = 2;//c-like
int n2 (3);//constructor
int n3 {5};//uniform


Las 3 formas funcionan igual y hacen lo mismo de la misma manera.
Mi pregunta es ¿Cuando es mas recomendable usar una u otra?

ivancea96

Normalmente, usa la primera.
La segunda, se utiliza para inicializar clases. Realmente un tipo nativo no tiene constructor. Una clase sí, y es la única forma de inicializarla.
Sobre la tercera, no la utilices salvo que realmente la necesites. Más que nada, porque no es necesario. La normal y la más visual, es la primera.
Sobre cuándo usar la tercera: http://en.cppreference.com/w/cpp/language/aggregate_initialization