¿Cómo hace un compilador, C o C++, (por ejemplo, gcc) la declaración const
?¿Cómo se implementa "const"?
Por ejemplo, en el código siguiente, ¿Cómo funciona el compilador no pierde de vista que la variableci
es const
y no se puede modificar?
int
get_foo() {
return 42;
}
void
test()
{
int i = get_foo();
i += 5;
const int ci = get_foo();
// ci += 7; // compile error: assignment of read-only variable ?ci?
}
De la misma manera se realiza un seguimiento de toda la información en tiempo de compilación sobre var Ibles? –
Se realiza en tiempo de compilación a través del sistema de tipo. –
Su comentario debería decir "asignación a variable de solo lectura". Por cierto, ¿cómo crees que el compilador sabe que es un número entero? – hplbsh