Una constante en C++ es un identificador que utilizamos para representar un valor no puede ser modificado una vez establecido.
Las constantes se utilizan para evitar la repetición de valores literales en el código y mejorar la claridad y mantenimiento del mismo.
Además, el uso de constantes facilita la actualización y el mantenimiento del código (ya que si necesitas cambiar el valor de una constante, solo necesitas hacerlo en un lugar).
Si quieres aprender más sobre Constantes
consulta el Curso de Introducción a la Programación leer más
Sintaxis de las constantes
La sintaxis básica para definir una constante en C++ es la siguiente:
const tipo nombre = valor;- tipo: Especifica el tipo de datos de la constante.
- nombre: Es el nombre único que se le da a la constante.
- valor: Es el valor constante que se asigna a la constante.
Por ejemplo, veamos cómo podemos definir una constante con el valor de PI.
const double PI = 3.14159;
std::cout << PI << std::endl; // Imprime: 3.14159
PI = 3.5; // ❌ Esto dará un error, no puedes reasignar una constanteUso de constantes
Acceso a constantes
Las constantes se acceden directamente utilizando su nombre:
std::cout << PI << std::endl;Utilización en expresiones
Las constantes se pueden utilizar en expresiones en lugar de valores literales para mejorar la legibilidad:
double area = PI * radio * radio;Convención de nombres
No es obligatorio, pero es relativamente común utilizar nombres de constantes en mayúsculas para distinguirlas de otras variables.
const double PI = 3.14159;Constantes en clases
Las constantes también pueden ser definidas dentro de clases. Cuando se definen de esta manera, a menudo se les antepone el nombre de la clase para acceder a ellas.
class Matematicas {
public:
    static const double PI;
};
// Definición de la constante fuera de la clase
const double Matematicas::PI = 3.14159;
int main() {
    std::cout << Matematicas::PI << std::endl; // Imprime: 3.14159
    return 0;
}Variables constexpr
Las variables constexpr son similares a las constantes, pero su valor debe ser conocido en tiempo de compilación. Estas son especialmente útiles para definir valores que se usarán en expresiones constantes.
constexpr double PI = 3.14159;
double calcularArea(double radio) {
    return PI * radio * radio;
}Variables const en clases
Las variables const también pueden ser miembros de una clase, y deben ser inicializadas en el constructor de la clase si no se inicializan en la declaración.
class Ejemplo {
public:
    const int NUMERO;
    Ejemplo(int valor) : NUMERO(valor) {}
};
int main() {
    Ejemplo ejemplo(42);
    std::cout << ejemplo.NUMERO << std::endl; // Imprime: 42
    return 0;
}Ejemplos prácticos
Definición de constantes matemáticas
class ConstantesMatematicas {
public:
    static const double PI;
    static const double EULER;
};
const double ConstantesMatematicas::PI = 3.14159;
const double ConstantesMatematicas::EULER = 2.71828;
int main() {
    std::cout << "Pi: " << ConstantesMatematicas::PI << std::endl;
    std::cout << "Euler: " << ConstantesMatematicas::EULER << std::endl;
    return 0;
}Definición de constantes de configuración
class Configuracion {
public:
    static const int LIMITE_INTENTOS_LOGIN;
    static const char* FORMATO_FECHA;
};
const int Configuracion::LIMITE_INTENTOS_LOGIN = 3;
const char* Configuracion::FORMATO_FECHA = "dd/MM/yyyy";
int main() {
    std::cout << "Límite de intentos de login: " << Configuracion::LIMITE_INTENTOS_LOGIN << std::endl;
    std::cout << "Formato de fecha: " << Configuracion::FORMATO_FECHA << std::endl;
    return 0;
}