c++ - ¿Cuál es la siguiente lista de detrás de las escenas dentro del rango de bucle for?
for-loop (2)
¿Qué es el {1,2,3,4,5} temporal en el bucle for detrás de escena?
Estoy estudiando C ++ y vi un bucle
for
bucle basado
for
rango como este:
for (int i : {1,2,3,4,5})
std::cout << i << '' '';
¿Qué es el
{1,2,3,4,5}
temporal en el bucle for detrás de escena?
El objeto aquí es una instancia de
std::initializer_list<int>
.
De la referencia (énfasis mío):
Un objeto std :: initializer_list se construye automáticamente cuando:
una lista-iniciada se utiliza para listar-inicializar un objeto, donde el constructor correspondiente acepta un parámetro std :: initializer_list
se utiliza una lista-iniciada como el operando correcto de asignación o como un argumento de llamada de función, y el operador / función de asignación correspondiente acepta un parámetro std :: initializer_list
una lista-iniciada está vinculada a automática, incluso en un rango para bucle