Tipos fundamentales (C++)
Los tipos fundamentales de C++ se dividen en tres categorías: entero, flotante y void. Los tipos enteros son capaces de controlar números enteros. Los tipos de punto flotante son capaces de especificar valores que pueden tener partes fraccionarias.
El tipo void describe un conjunto de valores vacío. No se puede especificar ninguna variable de tipo void; se utiliza principalmente para declarar funciones que no devuelven ningún valor o para declarar punteros genéricos a datos sin tipo o con un tipo arbitrario. Cualquier expresión se puede convertir explícitamente al tipo void. Sin embargo, estas expresiones se limitan a los siguientes usos:
Una instrucción de expresión. (Vea Expresiones para obtener más información).
El operando izquierdo del operador de coma. (Vea Operador de coma para obtener más información).
El segundo o tercer operando del operador condicional (? :). (Vea Expresiones con el operador condicional para obtener más información).
En la tabla siguiente se explican las restricciones en los tamaños de tipo. Estas restricciones son independientes de la implementación de Microsoft.
Tipos fundamentales del lenguaje C++
Categoría |
Tipo |
Contenido |
---|---|---|
Entero |
char |
El tipo char es un tipo entero que normalmente contiene miembros del juego de caracteres de la ejecución (ASCII, en Microsoft C++). |
|
|
El compilador de C++ trata las variables de tipo char, signed char y unsigned char como si tuvieran tipos diferentes. Las variables de tipo char se promueven a int como si fueran de tipo signed char de forma predeterminada, a menos que se use la opción de compilación /J. En ese caso se tratan como tipo unsigned char y se promueven a int sin la extensión de signo. |
|
bool |
El tipo bool es un tipo entero que puede tener uno de dos valores: true o false. Su tamaño no está especificado. |
|
short |
El tipo short int (o simplemente short) es un tipo entero que es mayor o igual que el tamaño del tipo char y menor o igual que el tamaño del tipo int. |
|
|
Los objetos de tipo short se pueden declarar como signed short o unsigned short. Signed short es un sinónimo de short. |
|
int |
El tipo int es un tipo entero que es mayor o igual que el tamaño del tipo short int y menor o igual que el tamaño del tipo long. |
|
|
Los objetos de tipo int se pueden declarar como signed int o unsigned int. Signed int es un sinónimo de int. |
|
__intn |
Entero con tamaño, donde n es el tamaño, en bits, de la variable de entero. El valor de n puede ser 8, 16, 32 o 64. (__intn es una palabra clave específica de Microsoft). |
|
long |
El tipo long (o long int) es un tipo entero que es mayor o igual que el tamaño del tipo int. |
|
|
Los objetos de tipo long se pueden declarar como signed long o unsigned long. Signed long es un sinónimo de long. |
long long |
Mayor que long sin signo. |
|
Los objetos de tipo long long se pueden declarar como signed long long o unsigned long long. Signed long long es un sinónimo de long long. |
||
Flotante |
float |
El tipo float es el tipo flotante menor. |
|
double |
El tipo double es un tipo flotante mayor o igual que el tipo float, pero menor o igual que el tamaño del tipo long double. |
|
long double1 |
El tipo long double es un tipo flotante que es igual que el tipo double. |
Carácter ancho |
__wchar_t |
Una variable de __wchar_t indica un tipo de carácter ancho o multibyte. De forma predeterminada, wchar_t es un tipo nativo pero puede utilizar /Zc: wchar_t- para convertir wchar_t en un typedef para unsigned short. Utilice el prefijo L delante de un carácter o una constante de cadena para designar la constante de tipo de carácter ancho. |
1 La representación de long double y de double es la misma. Sin embargo, long double y double son tipos distintos.
Específicos de Microsoft
En la tabla siguiente se muestra la cantidad de almacenamiento necesaria para los tipos fundamentales de Microsoft C++.
Tamaños de los tipos fundamentales
Tipo |
Tamaño |
---|---|
bool |
1 byte |
char, unsigned char, signed char |
1 byte |
short, unsigned short |
2 bytes |
int, unsigned int |
4 bytes |
__intn |
8, 16, 32, 64 o 128 bits, según el valor de n. __intn es específico de Microsoft. |
long, unsigned long |
4 bytes |
float |
4 bytes |
double |
8 bytes |
long double1 |
8 bytes |
long long |
Equivalente a __int64. |
1 La representación de long double y de double es la misma. Sin embargo, long double y double son tipos distintos.
FIN de Específicos de Microsoft
Vea Intervalos de tipo de datos para obtener un resumen del intervalo de valores de cada tipo.
Para obtener más información sobre la conversión de tipos, vea Conversiones estándar.