Translate

miércoles, 10 de diciembre de 2025

Inicialización uniforme en C++


Desde C++11, C++ incorporó la inicialización uniforme, una forma unificada de inicializar variables, objetos y contenedores usando llaves {}.

Veamos un ejemplo: 


#include <iostream>

#include <vector>


int main() {

    int x{10};                     // variable

    std::vector<int> v{1, 2, 3, 4}; // lista de inicialización


    for (int n : v)

        std::cout << n << " ";

}


Salida:

1 2 3 4


Ventajas:

  • Evita conversiones implícitas peligrosas.
  • Funciona con cualquier tipo de dato.
  • Es más coherente y clara que las formas anteriores (=, ()).


Por ejemplo, esto no compila porque perdería precisión:


int n{3.5}; // error: pérdida de información


Mientras que con = sí lo haría (truncando el valor).

Por eso, la inicialización uniforme hace el código más seguro y predecible.