C++修饰符类型
C++允许在char
、int
和double
数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。
当前有以下几种数据类型修饰符:
signed
unsigned
long
short
修饰符signed
、unsigned
、long
和short
可应用于整型,signed
和unsigned
可应用于字符型,long
可应用于双精度型。
修饰符signed
和unsigned
也可以作为long
或short
修饰符的前缀。例如unsigned long int
。
C++允许石永红速记符号来声明无符号短整型或无符号长整型。可以不用写int,只写unsigned short或者unsigned long,int是隐含的。例如下面的语句都声明了无符号整型变量。
unsigned x;
unsigned int y;
为了理解C++解释有符号和无符号整数修饰符之间的差别,来运行一下下面例子
#include <iostream>
using namespace std;
int main(){
short int i;//有符号短整型
short unsigned int j;//无符号短整型
j = 50000;
i = j;
cout<<i<<" "<<j;
return 0;
}
结果:
无符号短整型50000的位模式被解释为有符号短整型-15536.
C++中的类型限定符
类型限定符提供了变量的额外信息。
限定符 | 含义 |
---|---|
const | const类型的对象在程序执行期间不能被修改改变 |
volatile | 修饰符volatile告诉编译器,变量的值可能以程序未明确指定的方式被改变 |
restrict | 由restrict修饰的指针是唯一一种访问它所指向的对象的方式。只有C99增加了新的类型限定符restrict |