Tipi di modificatori C ++
C ++ consente il char, int, e doubletipi di dati per avere modificatori che li precedono. Un modificatore viene utilizzato per alterare il significato del tipo di base in modo che si adatti più precisamente alle esigenze di varie situazioni.
I modificatori del tipo di dati sono elencati qui -
- signed
- unsigned
- long
- short
I modificatori signed, unsigned, long, e shortpuò essere applicato a tipi di base interi. Inoltre,signed e unsigned può essere applicato a char, e long può essere applicato al doppio.
I modificatori signed e unsigned può anche essere usato come prefisso per long o shortmodificatori. Per esempio,unsigned long int.
C ++ consente una notazione abbreviata per la dichiarazione unsigned, short, o longinteri. Puoi semplicemente usare la parolaunsigned, short, o long, senza int. Lo implica automaticamenteint. Ad esempio, le due istruzioni seguenti dichiarano entrambe variabili intere senza segno.
unsigned x;
unsigned int y;
Per comprendere la differenza tra il modo in cui i modificatori di interi con segno e senza segno vengono interpretati da C ++, è necessario eseguire il seguente programma breve:
#include <iostream>
using namespace std;
/* This program shows the difference between
* signed and unsigned integers.
*/
int main() {
short int i; // a signed short integer
short unsigned int j; // an unsigned short integer
j = 50000;
i = j;
cout << i << " " << j;
return 0;
}
Quando questo programma viene eseguito, di seguito è riportato l'output:
-15536 50000
Il risultato sopra è perché il modello di bit che rappresenta 50.000 come un numero intero senza segno breve viene interpretato come -15.536 da un breve.
Qualificatori di tipo in C ++
I qualificatori di tipo forniscono informazioni aggiuntive sulle variabili che precedono.
Suor n | Qualificatore e significato |
---|---|
1 | const Oggetti di tipo const non può essere modificato dal programma durante l'esecuzione. |
2 | volatile Il modificatore volatile dice al compilatore che il valore di una variabile può essere cambiato in modi non esplicitamente specificati dal programma. |
3 | restrict Un puntatore qualificato da restrictè inizialmente l'unico mezzo con cui è possibile accedere all'oggetto a cui punta. Solo C99 aggiunge un nuovo qualificatore di tipo chiamato limit. |