Constantes y Literales en C++: Tipos, Sintaxis y Mejores Prácticas
Las constantes se refieren a valores fijos que el programa no puede alterar y se llaman literales.
Las constantes pueden ser de cualquiera de los tipos de datos básicos y pueden dividirse en Numerales Enteros, Numerales de Punto Flotante, Caracteres, Cadenas y Valores Booleanos.
De nuevo, las constantes se tratan como variables regulares excepto que sus valores no pueden modificarse después de su definición.
Literales Enteros
Un literal entero puede ser una constante decimal, octal o hexadecimal. Un prefijo especifica la base o radix: 0x o 0X para hexadecimal, 0 para octal, y nada para decimal.
Un literal entero también puede tener un sufijo que es una combinación de U y L, para unsigned y long, respectivamente. El sufijo puede ser mayúscula o minúscula y puede estar en cualquier orden.
Aquí hay algunos ejemplos de literales enteros:
212 // Legal
215u // Legal
0xFeeL // Legal
078 // Ilegal: 8 no es un dígito octal
032UU // Ilegal: no se puede repetir un sufijo
A continuación, otros ejemplos de varios tipos de literales enteros:
85 // decimal
0213 // octal
0x4b // hexadecimal
30 // int
30u // unsigned int
30l // long
30ul // unsigned long
Literales de Punto Flotante
Un literal de punto flotante tiene una parte entera, un punto decimal, una parte fraccionaria y una parte de exponente. Puedes representar literales de punto flotante ya sea en forma decimal o exponencial.
Al representar usando forma decimal, debes incluir el punto decimal, el exponente, o ambos y al representar usando forma exponencial, debes incluir la parte entera, la parte fraccionaria, o ambas. El exponente con signo se introduce con e o E.
Aquí hay algunos ejemplos de literales de punto flotante:
3.14159 // Legal
314159E-5L // Legal
510E // Ilegal: exponente incompleto
210f // Ilegal: sin decimal ni exponente
.e55 // Ilegal: falta parte entera o fraccionaria
Literales Booleanos
Hay dos literales booleanos y son parte de las palabras clave estándar de C++:
Un valor de true representando verdadero.
Un valor de false representando falso.
No debes considerar el valor de true igual a 1 y el valor de false igual a 0.
Literales de Caracter
Los literales de carácter se encierran entre comillas simples. Si el literal comienza con L (solo mayúscula), es un literal de carácter ancho (ej., L'x') y debe almacenarse en variable de tipo wchar_t. De lo contrario, es un literal de carácter estrecho (ej., 'x') y puede almacenarse en una variable simple de tipo char.
Un literal de carácter puede ser un carácter simple (ej., 'x'), una secuencia de escape (ej., '\t'), o un carácter universal (ej., '\u02C0').
Hay ciertos caracteres en C++ que cuando son precedidos por una barra invertida tendrán un significado especial y se usan para representar como nueva línea (\n) o tabulación (\t). Aquí tienes una lista de algunos de estos códigos de secuencia de escape:
| Secuencia de escape | Significado |
|---|---|
| \\ | carácter \ |
| \' | ' carácter |
| \" | " carácter |
| \? | ? carácter |
| \a | Alerta o campana |
| \b | Retroceso |
| \f | Avance de página |
| \n | Nueva línea |
| \r | Retorno de carro |
| \t | Tabulación horizontal |
| \v | Tabulación vertical |
| \ooo | Número octal de uno a tres dígitos |
| \xhh... | Número hexadecimal de uno o más dígitos |
El siguiente es un ejemplo para mostrar algunos caracteres de secuencia de escape:
#include <iostream>
using namespace std;
int main() {
cout << "Hola\tMundo\n\n";
return 0;
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
Hola Mundo
Literales de Cadena
Los literales de cadena se encierran entre comillas dobles. Una cadena contiene caracteres que son similares a los literales de carácter: caracteres simples, secuencias de escape y caracteres universales.
Puedes dividir una línea larga en múltiples líneas usando literales de cadena y separarlos usando espacios en blanco.
Aquí hay algunos ejemplos de literales de cadena. Las tres formas son cadenas idénticas.
"hola, querido"
"hola, \ querido"
"hola, " "d" "ear"
Definición de Constantes
Hay dos formas simples en C++ para definir constantes:
Usando el preprocesador #define.
Usando la palabra clave const.
El Preprocesador #define
La siguiente es la forma de usar el preprocesador #define para definir una constante:
#define identificador valor
El siguiente ejemplo lo explica en detalle:
#include <iostream>
using namespace std;
#define LONGITUD 10
#define ANCHO 5
#define NUEVA_LINEA '\n'
int main() {
int area;
area = LONGITUD * ANCHO;
cout << area;
cout << NUEVA_LINEA;
return 0;
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
50
La Palabra Clave const
Puedes usar el prefijo const para declarar constantes con un tipo específico de la siguiente manera:
const tipo variable = valor;
El siguiente ejemplo lo explica en detalle:
#include <iostream>
using namespace std;
int main() {
const int LONGITUD = 10;
const int ANCHO = 5;
const char NUEVA_LINEA = '\n';
int area;
area = LONGITUD * ANCHO;
cout << area;
cout << NUEVA_LINEA;
return 0;
}
Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:
50
Ten en cuenta que es una buena práctica de programación definir las constantes en MAYÚSCULAS.
Lenguaje C
- Dominando Variables, Literales y Constantes en C++: Guía Completa
- Entendiendo los Tipos de Datos en C++: Fundamentos, Modificadores y Mejores Prácticas
- Dominando los Operadores en C++: Guía Completa con Ejemplos Prácticos
- Comentarios en C++: Mejores Prácticas para Código Legible y Mantenible
- Dominando las plantillas de clase en C++: guía práctica
- Variables, constantes y literales en C: guía completa
- Entendiendo constantes y literales en C: Tipos, uso y mejores prácticas
- Lenguaje de Programación C++: Visión General y Características Clave
- Constantes y Literales en C++: Tipos, Sintaxis y Mejores Prácticas
- Guía Completa de Operadores en C++: Tipos, Uso y Mejores Prácticas
- Variables, constantes y literales en Python – Guía completa