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 constante
Uso 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;
}