Guia de Utilização de Constantes em C++

Em C++, constantes referem-se a valores fixos que o programa não pode alterar durante a sua execução. Esses valores imutáveis são frequentemente denominados literais. Constantes podem pertencer a qualquer tipo de dado básico, abrangendo números inteiros, números de ponto flutuante, caracteres, strings e valores booleanos.

Literais Inteiros

Um literal inteiro pode ser representado em formato decimal, octal ou hexadecimal. O sistema numérico é identificado por um prefixo:

  • 0x ou 0X: Indica um valor hexadecimal.
  • 0: Indica um valor octal.
  • Sem prefixo: Indica um valor decimal padrão.

Além disso, sufixos podem ser aplicados para especificar o tipo: U para inteiros sem sinal (unsigned) e L para inteiros longos (long). A ordem e a capitalização desses sufixos não interferem no resultado.


75          // Decimal
0113        // Octal
0x4b        // Hexadecimal
42u         // Unsigned int
1000L       // Long int
255ul       // Unsigned long int

Literais de Ponto Fltuuante

Valores de ponto flutuante podem ser escritos em notação decimal ou científica. Na forma decimal, deve-se incluir o ponto decimal, a parte fracionária ou ambos. Na notação científica, utiliza-se e ou E para representar a potência de 10.


3.14159     // Padrão
6.022E23    // Notação científica (Exponencial)
.25         // Equivalente a 0.25
5.0f        // Float (sufixo f)

Constantes Booleanas

Existem apenas dois valores booleanos em C++, definidos pelas palavras-chave reservadas:

  • true: Representa uma condição verdadeira.
  • false: Representa uma condição falsa.

Constantes de Caractere

Literais de caractere são delimitados por aspas simples (ex: 'a'). Se o literal for precedido por L (ex: L'x'), ele é considerado um caractere largo (wide character) e deve ser armazenado em uma variável do tipo wchar_t. Caso contrário, é um caractere comum do tipo char.

C++ suporta sequências de escape para representar caracteres especiais que possuem significados específicos dentro de strings ou saídas de console:

Sequência Descrição
\\ Caractere de barra invertida
\' Aspas simples
\" Aspas duplas
\n Nova linha (Quebra de linha)
\t Tabulação horizontal
\b Backspace

#include <iostream>

int main() {
    std::cout << "Primeira linha\n\tItem com tabulação" << std::endl;
    return 0;
}

Literais de String

Strings são sequências de caracteres delimitadas por aspas duplas " ". Elas podem conter caracteres normais, sequências de escape e caracteres universais. Para quebrar uma string longa em várias linhas no código fonte, utiliza-se a barra invertida \ no final da linha física.


#include <iostream>
#include <string>

int main() {
    std::string mensagem = "Desenvolvimento em C++";
    std::string multiplas_linhas = "Esta é uma string que \
foi dividida no código fonte.";
    
    std::cout << mensagem << "\n" << multiplas_linhas << std::endl;
    return 0;
}

Métodos para Definir Constantes

Existem duas abordagens principais para definir valores constantes em um programa C++:

1. Utilizando o Pré-processador #define

A diretiva #define permite criar uma substituição de texto em tempo de pré-processamento.


#include <iostream>

#define RAIO 15
#define PI 3.14159

int main() {
    double circunferencia = 2 * PI * RAIO;
    std::cout << "Circunferência: " << circunferencia << std::endl;
    return 0;
}

2. Utilizando a Palavra-chave const

A declaração const permite criar uma variável de um tipo específico cujo valor não pode ser alterado após a inicialização. Esta abordagem é preferível em C++ moderno por respeitar as regras de escopo e tipagem.


#include <iostream>

int main() {
    const int VELOCIDADE_LUZ = 299792458;
    const char UNIDADE[] = "m/s";
    
    std::cout << "Velocidade: " << VELOCIDADE_LUZ << " " << UNIDADE << std::endl;
    
    return 0;
}

É considerada uma boa prática de programação nomear constantes utilizando letras maiúsculas para diferenciá-las visualmente de variáveis comuns.

Tags: cpp constantes diretivas-pre-processamento tipos-de-dados cplusplus-basico

Publicado em 7-24 21:43