Tipuri de date

C++ oferă mai multe tipuri de date fundamentale. Alegerea tipului corect economisește memorie și previne erori.

TipBytesIntervalExemplu
short2-32 768 … 32 767short x = 100;
int4-2.1B … 2.1Bint n = 1000000;
long long8±9.2 × 10¹⁸long long big = 1e18;
float4±3.4 × 10³⁸, 7 zif.float f = 3.14f;
double8±1.7 × 10³⁰⁸, 15 zif.double d = 3.14159;
char1-128 … 127char c = 'A';
bool1true / falsebool ok = true;

Tipuri fără semn (unsigned)

unsigned int u = 4000000000u; // 0 … 4.29 miliarde
unsigned long long ull = 18000000000000000000ull;

Verificarea dimensiunii cu sizeof

cout << sizeof(int) << endl;       // 4
cout << sizeof(double) << endl;    // 8
cout << sizeof(long long) << endl; // 8
La olimpiadă: Folosește long long când rezultatele pot depăși 2 miliarde (10⁹). Suprascrierea intervalului (overflow) duce la rezultate greșite fără nicio eroare!