The C++ programming language has a wide variety of data types. In this article, you are going to get an overview of how these data types are classified.
A data type is a computer representation of identifiers such as variables or constants. The C++ data types are divided into 3 categories.
- Builtin types
- User-defined types
- Derived-types

Modifiers
The C++ language supports all the primitive data types like C language. The range of each of the basic data types can be changed using modifiers. A modifier changes the range of allowed values for a built-in data type.
The C++ modifiers are listed below.
- signed
- unsigned
- short
- long
The list of all the builtin data types with each modifier and their range is given in the following table.
| Data Type | Size | Range |
| char | 1 byte | |
| unsigned char | 1 byte | |
| signed char | 1 byte | |
| int | 2 bytes | |
| unsigned int | 2 bytes | |
| signed int | 2 bytes | |
| short int | 2 bytes | |
| long int | 4 bytes | |
| signed long int | 4 bytes | |
| unsigned long int | 4 bytes | |
| float | 4 bytes | |
| double | 8 bytes | |
| long double | 10 bytes |
Note: Some of the ranges is compiler dependent.