Zmienna to obszar pamięci przechowujący jakieś dane. O rodzaju i sposobie prezentacji tych danych decyduje typ zmiennej. Ze względu na zasięg możemy podzielić zmienne na:

  • Zmienna lokalna to zmienna widoczna tylko w obrębie danej funkcji lub obiektu, tworzona w momencie inicjowania obiektu i niszczona razem z obiektem. Kolejne, rekurencyjne wywołanie tej samej funkcji tworzy na stosie nową instancję zmiennej.
  • Zmienna globalna to zmienna widoczna w obrębie całego programu.

Poniższa tabela zawiera typy zmiennych języka C++.

Typ Wielkość pamięci Uwagi
_Bool 1 bajt tylko w nowych wersjach
unsigned char 1 bajt -
signed char 1 bajt -
int 2 lub 4 bajty -
unsigned int 2 lub 4 bajty -
short int 2 bajty -
unsigned short int 2 bajty -
long int 4 bajty -
unsigned long int 4 bajty -
long long int 8 bajtów tylko w nowych wersjach
unsigned long long int 8 bajtów tylko w nowych wersjach
float 4 bajty -
double 8 bajtów -
long double 8, 10 lub 12 bajtów -
float _Complex 8 bajtów tylko w nowych wersjach
double _Complex 16 bajtów tylko w nowych wersjach
long double _Complex 24 bajty tylko w nowych wersjach
float _Imaginary b/d tylko w nowych wersjach
double _Imaginary b/d tylko w nowych wersjach
long double _Imaginary b/d tylko w nowych wersjach
string b/d to czego brakuje w C...
void b/d -