Khi lập trình, chúng ta lưu các biến trong bộ nhớ máy tính, nhưng máy tính cần phải biết loại dữ liệu mà chúng ta muốn lưu. Điều này giúp bảo đảm đủ số lượng ô nhớ cần thiết để lưu dữ liệu.
Trong máy tính, bộ nhớ được tổ chức theo các byte. Một byte là một đơn vị đo lường tối thiểu mà chúng ta có thể quản lý trong C++. Một byte có thể lưu một biến char. Thêm vào đó, máy tính cũng quản lý những kiểu dữ liệu phức tạp hơn. Bảng sau đây liệt kê các kiểu dữ liệu và kích thước tương ứng.
Tên Mô tả Kích thước Vùng giá trị
char Kí tự hoặc số nguyên bé 1 byte signed: -128 ->127 unsigned: 0 -> 255 short Số nguyên ngắn 2 byte signed: -215 -> 215-1
unsigned: 0 -> 216-1
int Số nguyên 4 byte signed: -231 -> 231-1
unsigned: 0 -> 232-1 long Số nguyên dài 4 byte signed: -231 -> 231-1 unsigned: 0 -> 232-1 long long Số nguyên cực dài 8 byte signed: -263 -> 263-1 unsigned: 0 -> 264-1 bool Giá trị logic – true/false 1 byte true và false
float Số thập phân 4 byte 7 số thập phân
double Số thập phân chấm động 8 byte 15 số thập phân long
double
Số thập phân chấm động dài 8 byte 15 số thập phân
wchar_t Kí tự dài 2/4 byte
Kích thước trong bộ nhớ và miền giá trị của các kiểu dữ liệu còn phụ thuộc vào hệ thống và chương trình dịch tương ứng. Giá trị được đưa ra ở đây là trên hệ thống Windows 32 bit và trình dịch GCC MinGW. Nhưng đối với hệ thống khác, các giá trị này có thể thay đổi (ví dụ kiểu int và long trên Windows 32 bit và 64 bit là 4 byte, nhưng trên Linux 32 bit là 4 byte và trên Linux 64 bit là 8 byte).