C++ 修饰符类型
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整数变量。
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,却被短整数解释为-15,536。
C++中的类型限定符
类型限定符为其前置的变量提供额外的信息。
序号 | 限定词及含义 |
---|---|
1 | const 类型为 const 的对象在程序执行期间无法被改变。 |
2 | volatile 修饰符 volatile 告诉编译器一个变量的值可能会以程序没有明确指定的方式改变。 |
3 | restrict 被 restrict 修饰的指针最初是访问所指向对象的唯一方式。只有 C99 才添加了一个叫做 restrict 的新类型限定符。 |