Variáveis e parâmetros const
Proteja os dados contra alterações
Variáveis e parâmetros const é uma aula grátis de C++ Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C++ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C++ Academy inclui 4 aulas no total.
Declarando variáveis const
Uma variável const não pode ser modificada após a inicialização. O compilador impõe essa regra e detecta escritas acidentais.
#include <iostream>
int main() {
const int maxUsers = 100;
// maxUsers = 200; // ERROR
std::cout << maxUsers << "\n";
}Parâmetros de função const
Marcar um parâmetro passado por valor como const impede que o corpo da função altere a sua cópia local — um recurso de documentação e segurança.
#include <iostream>
int doubled(const int n) {
// n = 0; // ERROR
return n * 2;
}
int main() { std::cout << doubled(21) << "\n"; }Parâmetros de referência const
Passar por const& evita copiar objetos grandes e, ao mesmo tempo, garante que eles não serão modificados — a forma padrão de passar cadeias de caracteres e contêineres.
#include <iostream>
#include <string>
void printLen(const std::string& s) { // no copy, no change
std::cout << s.size() << "\n";
}
int main() { printLen("hello"); }Ponteiro para const
const T* significa que não é possível alterar o valor apontado por meio desse ponteiro, embora o próprio ponteiro possa passar a apontar para outro local.
#include <iostream>
int main() {
int a = 1, b = 2;
const int* p = &a;
// *p = 5; // ERROR: value is const
p = &b; // OK: pointer can move
std::cout << *p << "\n";
}Ponteiro const
T* const é um ponteiro constante: não é possível fazer com que ele aponte para outro local, mas o valor para o qual ele aponta pode ser modificado.
#include <iostream>
int main() {
int a = 1;
int* const p = &a;
*p = 9; // OK: value changeable
// p = nullptr; // ERROR: pointer is const
std::cout << *p << "\n";
}Lendo declarações da direita para a esquerda
Leia as declarações com const da direita para a esquerda: const int* const é um "ponteiro const para um int const" — nem o valor nem o ponteiro podem mudar.
Por que a correção com const?
Usar const sempre que aplicável documenta a intenção, evita erros e permite que o compilador faça otimizações. Essa disciplina é chamada de correção com const.
const permite argumentos const
Uma função que recebe const& pode aceitar argumentos const e não const, além de temporários. Uma referência não const não pode ser vinculada a um temporário.
Variáveis locais const facilitam o raciocínio
Declarar como const as variáveis locais que não devem mudar torna o código mais fácil de ler e evita atribuições acidentais.
#include <iostream>
int main() {
const double rate = 0.2;
const double total = 100 * (1 + rate);
std::cout << total << "\n";
}const de nível superior em valores
Para parâmetros passados por valor, const de nível superior não afeta o chamador — ele apenas restringe o corpo da função e costuma ser omitido nas declarações.
Adicione const desde o início
É muito mais fácil começar com correção de const do que adaptá-la depois. Aplique const a parâmetros, referências e variáveis locais como hábito padrão.
Verificação rápida
Teste a sua compreensão de const.
Recapitulação
Você aprendeu a usar const em variáveis, parâmetros, referências e ponteiros, além da diferença entre ponteiro para const e ponteiro const. A correção com const documenta a intenção, evita erros e permite a vinculação a temporários e a otimização.
Perguntas Frequentes
A aula “Variáveis e parâmetros const” é grátis?
Sim — o texto completo de “Variáveis e parâmetros const” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C++ Academy, atualize para CoddyKit PRO. O curso de C++ Academy inclui 4 aulas no total.
O que vou aprender em “Variáveis e parâmetros const”?
Proteja os dados contra alterações Você pratica C++ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C++ Academy?
Nenhuma experiência prévia é necessária. C++ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Variáveis e parâmetros const”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C++ Academy?
Sim. Cada aula de C++ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Variáveis e parâmetros const
- Funções-membro const
- constexpr e tempo de compilação
- consteval e constinit