0Pricing
C++ Academy · Aula

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

  1. Variáveis e parâmetros const
  2. Funções-membro const
  3. constexpr e tempo de compilação
  4. consteval e constinit
← Voltar para C++ Academy