Condividi tramite


Tipi fondamentali (C++)

I tipi fondamentali in C++ sono suddivisi in tre categorie: integrali, a virgola mobile e void. I tipi integrali sono in grado di gestire numeri interi. I tipi a virgola mobile sono in grado di specificare i valori che possono contenere parti frazionarie.

I tipi void descrivono un set di valori vuoto. Non è possibile specificare alcuna variabile di tipo void, in quanto queste variabili vengono principalmente utilizzate per dichiarare funzioni che non restituiscono valori o puntatori generici a dati non tipizzati o tipizzati in modo arbitrario). Qualsiasi espressione può essere convertita in modo esplicito o può esserne eseguito il cast al tipo void. Tuttavia, l'utilizzo di tali espressioni è limitato ai seguenti elementi:

Nella tabella seguente sono descritte le restrizioni relative alle dimensioni dei tipi. Queste restrizioni sono indipendenti dell'implementazione Microsoft.

Tipi fondamentali del linguaggio C++

Categoria

Tipo

Contenuto

Integrale

char

Il tipo char è un tipo integrale che generalmente contiene membri del set di caratteri di esecuzione (in Microsoft C++, è ASCII).

 

 

Il compilatore C++ considera le variabili di tipo char, con segno char e unsigned char come se avessero tipi differenti. Le variabili di tipo char vengono promosse a int come se fossero di tipo  char con segno per impostazione predefinita, a meno che non venga utilizzata l'opzione di compilazione /J. In questo caso, sono considerate come tipo unsigned char e sono promosse a int senza estensione del segno.

 

bool

Il tipo bool è un tipo integrale che può assumere uno dei due valori true o false. La relativa dimensione non è specificata.

 

short

Il tipo short int (o semplicemente short) è un tipo integrale di dimensione maggiore o uguale alla dimensione del tipo char e di dimensione minore o uguale alla dimensione del tipo int.

 

 

Gli oggetti di tipo short possono essere dichiarati come  short con segno o come short senza segno. Short con segno è un sinonimo di short.

 

int

Il tipo int è un tipo integrale di dimensione maggiore o uguale alla dimensione del tipo short int e di dimensione minore o uguale alla dimensione del tipo long.

 

 

Gli oggetti di tipo int possono essere dichiarati come  int con segno o come unsigned int. Signed int è un sinonimo di int.

 

__intn

Intero con dimensione, dove n è la dimensione in bit della variabile di tipo intero. Il valore di n può essere 8, 16, 32 o 64. (__intn è una parola chiave specifica di Microsoft).

 

long

Il tipo long (o long int) è un tipo integrale che è maggiore o uguale alla dimensione di tipo int.

 

 

Gli oggetti di tipo long possono essere dichiarati come long con segno long o come long unsigned . Signed long è un sinonimo di long.

long long

Di dimensione maggiore di un tipo long senza segno.

Gli oggetti di tipo long long possono essere dichiarati come  long long con segno o long long unsigned . long long Signed  è un sinonimo di long long.

Virgola mobile

float

Il tipo float è il tipo a virgola mobile più piccolo.

 

double

Il tipo double è un tipo a virgola mobile che è maggiore o uguale a float, ma minore o uguale alla dimensione del tipo long double.

 

long double1

Il tipo long double è un tipo a virgola mobile che è uguale al tipo double.

Carattere wide

__wchar_t

Una variabile di __wchar_t designa un tipo di carattere wide o multibyte. Per impostazione predefinita, wchar_t è un tipo nativo, ma è possibile utilizzare /Zc:wchar_t- per creare un typedef wchar_t per un tipo short senza segno.

Utilizzare il prefisso L prima di una costante di carattere o di stringa per definire la costante del tipo di carattere wide.

1  La rappresentazione di long double e di double è identica. Tuttavia, long double e double sono tipi distinti.

Sezione specifica Microsoft

Nella tabella seguente è indicata la quantità di archiviazione richiesta per i tipi fondamentali di Microsoft C++.

Dimensioni dei tipi fondamentali

Tipo

Dimensione

bool

1 byte

char, unsigned char, char con segno

1 byte

short, short senza segno

2 byte

int, unsigned int

4 byte

__intn

8, 16, 32, 64 o 128 bit a seconda del valore di n __intn è specifico di Microsoft.

long, unsigned long

4 byte

float

4 byte

double

8 byte

long double1

8 byte

long long

Equivalente a __int64.

1  La rappresentazione di long double e di double è identica. Tuttavia, long double e double sono tipi distinti.

Fine sezione specifica Microsoft

Per un riepilogo dell'intervallo di valori di ogni tipo, vedere Intervalli dei tipi di dati.

Per ulteriori informazioni sulla conversione dei tipi, vedere Conversioni standard.

Vedere anche

Riferimenti

Intervalli dei tipi di dati

Altre risorse

Types