C · Essencial · Inglês · Técnico
const
Qualificador que declara que um objeto não deve ser modificado depois de inicializado. O compilador recusa atribuições diretas, mas não impede alterações por outros meios.
Onde usar
Usado em parâmetros de ponteiro, como const char *s, para avisar quem chama que a função só lê. Em review, const é documentação verificada pelo compilador.
Em código
size_t conta(const char *s) {
size_t n = 0;
while (s[n]) n++;
return n; // s não é alterado
}Exemplos
Make the parameter const char * since we only read it.
Faça o parâmetro const char *, já que só lemos.
Dropping const with a cast is a code smell.
Tirar o const com um cast é um mau cheiro no código.
Cuidado
Achar que const protege a memória: é uma promessa de compilação, e escrever num objeto originalmente const via cast é comportamento indefinido.
Sinônimos
constante