Quando ho imparato il linguaggio C ++ per la prima volta ho imparato che oltre a int, float ecc. Esistevano versioni più piccole o più grandi di questi tipi di dati all'interno del linguaggio. Ad esempio, potrei chiamare una variabile x
int x;
or
short int x;
La differenza principale è che short int richiede 2 byte di memoria mentre int richiede 4 byte e short int ha un valore inferiore, ma potremmo anche chiamarlo per renderlo ancora più piccolo:
int x;
short int x;
unsigned short int x;
che è ancora più restrittivo.
La mia domanda qui è se è una buona pratica usare tipi di dati separati in base ai valori che la tua variabile assume all'interno del programma. È una buona idea dichiarare sempre le variabili in base a questi tipi di dati?
unsigned
qualche modo fa sì che un numero intero occupi meno spazio, il che è ovviamente falso. Avrà lo stesso conteggio di valori rappresentabili discreti (dai o prendi 1 a seconda di come è rappresentato il segno) ma si è spostato esclusivamente in positivo.