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;
Чтобы понять разницу между тем, как подписанные и беззнаковые целочисленные модификаторы интерпретируются C ++, вы должны запустить следующую короткую программу:
#include <iostream>
using namespace std;
/* This program shows the difference between
* signed and unsigned integers.
*/
int main() {
short int i; // a signed short integer
short unsigned int j; // an unsigned short integer
j = 50000;
i = j;
cout << i << " " << j;
return 0;
}
Когда эта программа запускается, следующим является вывод:
-15536 50000
Вышеприведенный результат заключается в том, что бит-шаблон, который представляет 50 000 в виде короткого целого без знака, интерпретируется как -15536 коротким.
Тип Квалификаторы в C ++
Спецификаторы типов предоставляют дополнительную информацию о переменных, которым они предшествуют.
const |
Объекты типа const не могут быть изменены программой во время выполнения. |
volatile |
Модификатор volatile сообщает компилятору, что значение переменной может быть изменено способами, явно не указанными программой. |
restrict |
Указатель restrict изначально является единственным средством, с помощью которого объект, к которому он указывает, может быть доступен. Только C99 добавляет новый классификатор типа, называемый ограничителем. |
0 комментариев