c++ - ejemplo - ¿Son ''auto const'' y ''const auto'' lo mismo?
for auto c++ (2)
¿Hay alguna diferencia o es lo mismo?
Ejemplo de ejemplo:
std::vector<char*> test;
const auto a = test[0];
*a = ''c'';
a = 0; // does not compile
auto const b = test[1];
*b = ''c'';
b = 0; // does not compile
Ambos a
y b
tienen tipo char* const
. No crea que simplemente puede "insertar" el tipo en lugar de la palabra clave auto
(aquí: const char* a
)! La palabra clave const
se aplicará a todo el tipo que coincida auto
(aquí: char*
).
El calificador const
se aplica al tipo a la izquierda inmediata a menos que no haya nada a la izquierda, entonces se aplica al tipo a la derecha inmediata. Entonces sí, es lo mismo.