Модификаторы типов данных в C++: signed, unsigned, long, short
C++ позволяет типам данных char, int и double иметь предшествующие модификаторы. Модификатор изменяет значение базового типа, чтобы оно точнее соответствовало потребностям конкретной ситуации.
Модификаторы типов данных:
- signed
- unsigned
- long
- short
Модификаторы signed, unsigned, long и short применяются к целочисленным базовым типам. Кроме того, signed и unsigned применяются к char, а long — к double.
Signed и unsigned также можно использовать как префиксы к модификаторам long или short. Например, unsigned long int.
C++ допускает краткую запись для объявления unsigned, short или long целых. Можно просто использовать слово unsigned, short или long без int — это автоматически подразумевает int. Например, оба оператора объявляют беззнаковые целые переменные:
unsigned x; unsigned int y;
Чтобы понять разницу в интерпретации знаковых и беззнаковых модификаторов, выполните следующую программу:
Live Demo#include <iostream>
using namespace std;
/* Программа показывает разницу между
* знаковыми и беззнаковыми целыми. */
int main() {
short int i; // знаковое короткое целое
short unsigned int j; // беззнаковое короткое целое
j = 50000;
i = j;
cout << i << " " << j;
return 0;
}
Результат работы:
-15536 50000
Результат объясняется тем, что битовый паттерн, представляющий 50 000 как беззнаковое короткое целое, интерпретируется как -15 536 знаковым коротким целым.
Квалификаторы типов в C++
Квалификаторы типов дают дополнительную информацию о переменных, которым они предшествуют.
| № | Квалификатор и значение |
|---|---|
| 1 | const Объекты типа const не могут быть изменены программой во время выполнения. |
| 2 | volatile Модификатор volatile сообщает компилятору, что значение переменной может меняться способами, не заданными явно программой. |
| 3 | restrict Указатель, квалифицированный restrict, изначально является единственным способом доступа к объекту, на который он указывает. Только стандарт C99 добавил квалификатор |
Язык C
- Понимание типов данных C++: основы, модификаторы и лучшие практики
- Освоение операторов C++: полное руководство с практическими примерами
- Комментарии в C++: лучшие практики для читаемого и поддерживаемого кода
- Шаблоны классов в C++: практическое руководство
- Переменные и типы данных в C++: подробное руководство по int, double, char, string, bool
- Операторы в C++: типы, примеры и практические программы
- Модификаторы в Java: типы, применение и лучшие практики
- Типы данных в C: полное руководство по целочисленным, вещественным и производным типам
- Язык программирования C++: обзор и ключевые особенности
- Типы переменных в C++: память, ограничения и операции