Constantes / literales de C ++

Las constantes se refieren a valores fijos que el programa no puede alterar y se denominan literals.

Las constantes pueden ser de cualquiera de los tipos de datos básicos y se pueden dividir en números enteros, números de coma flotante, caracteres, cadenas y valores booleanos.

Nuevamente, las constantes se tratan como variables regulares excepto que sus valores no se pueden modificar 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 la raíz: 0x o 0X para hexadecimal, 0 para octal y nada para decimal.

Un literal entero también puede tener un sufijo que sea una combinación de U y L, para unsigned y long, respectivamente. El sufijo puede estar en mayúsculas o minúsculas y puede estar en cualquier orden.

Aquí hay algunos ejemplos de literales enteros:

212         // Legal
215u        // Legal
0xFeeL      // Legal
078         // Illegal: 8 is not an octal digit
032UU       // Illegal: cannot repeat a suffix

A continuación se muestran 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 coma flotante

Un literal de coma flotante tiene una parte entera, una coma decimal, una parte fraccionaria y una parte exponente. Puede representar literales de coma flotante en forma decimal o exponencial.

Mientras representa en forma decimal, debe incluir el punto decimal, el exponente o ambos y mientras representa en forma exponencial, debe incluir la parte entera, la parte fraccionaria o ambas. El exponente con signo se introduce mediante e o E.

Aquí hay algunos ejemplos de literales de punto flotante:

3.14159       // Legal
314159E-5L    // Legal
510E          // Illegal: incomplete exponent
210f          // Illegal: no decimal or exponent
.e55          // Illegal: missing integer or fraction

Literales booleanos

Hay dos literales booleanos y forman parte de las palabras clave estándar de C ++:

  • Un valor de true representando verdadero.

  • Un valor de false representando falso.

No debe considerar el valor de verdadero igual a 1 y el valor de falso igual a 0.

Literales de caracteres

Los literales de caracteres se incluyen entre comillas simples. Si el literal comienza con L (solo mayúsculas), es un literal de carácter ancho (por ejemplo, L'x ') y debe almacenarse enwchar_ttipo de variable. De lo contrario, es un literal de carácter limitado (por ejemplo, 'x') y se puede almacenar en una variable simple dechar tipo.

Un literal de carácter puede ser un carácter simple (por ejemplo, 'x'), una secuencia de escape (por ejemplo, '\ t') o un carácter universal (por ejemplo, '\ u02C0').

Hay ciertos caracteres en C ++ cuando están 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í tiene una lista de algunos de esos códigos de secuencia de escape:

Secuencia de escape Sentido
\\ \ personaje
\ ' ' personaje
\ " " personaje
\? ? personaje
\un Alerta o campana
\segundo Retroceso
\F Alimentación de formulario
\norte Nueva línea
\ r Retorno de carro
\ t Pestaña horizontal
\ v Pestaña vertical
\ ooo Número octal de uno a tres dígitos
\ xhh. . . Número hexadecimal de uno o más dígitos

A continuación se muestra el ejemplo para mostrar algunos caracteres de secuencia de escape:

#include <iostream>
using namespace std;

int main() {
   cout << "Hello\tWorld\n\n";
   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

Hello   World

Literales de cadena

Los literales de cadena se incluyen entre comillas dobles. Una cadena contiene caracteres que son similares a los literales de caracteres: caracteres simples, secuencias de escape y caracteres universales.

Puede dividir una línea larga en varias líneas usando cadenas literales y separarlas usando espacios en blanco.

A continuación, se muestran algunos ejemplos de cadenas literales. Las tres formas son cadenas idénticas.

"hello, dear"

"hello, \

dear"

"hello, " "d" "ear"

Definición de constantes

Hay dos formas sencillas en C ++ para definir constantes:

  • Utilizando #define preprocesador.

  • Utilizando const palabra clave.

El preprocesador #define

A continuación se muestra la forma para usar #define preprocessor para definir una constante -

#define identifier value

El siguiente ejemplo lo explica en detalle:

#include <iostream>
using namespace std;

#define LENGTH 10   
#define WIDTH  5
#define NEWLINE '\n'

int main() {
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

50

La palabra clave const

Puedes usar const prefijo para declarar constantes con un tipo específico de la siguiente manera:

const type variable = value;

El siguiente ejemplo lo explica en detalle:

#include <iostream>
using namespace std;

int main() {
   const int  LENGTH = 10;
   const int  WIDTH  = 5;
   const char NEWLINE = '\n';
   int area;  
   
   area = LENGTH * WIDTH;
   cout << area;
   cout << NEWLINE;
   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

50

Tenga en cuenta que es una buena práctica de programación definir constantes en MAYÚSCULAS.