C++ 修饰符类型



C++ 允许char、intdouble 数据类型在其前面使用修饰符。修饰符用于更改基本类型的含义,使其更精确地适应各种情况的需求。

此处列出了数据类型修饰符:

  • signed
  • unsigned
  • long
  • short

修饰符signed、unsigned、longshort 可以应用于整数基本类型。此外,signedunsigned 可以应用于 char,long 可以应用于 double。

修饰符signedunsigned 也可以用作longshort 修饰符的前缀。例如,unsigned long int

C++ 允许使用简写符号来声明unsigned、shortlong 整数。您可以简单地使用unsigned、shortlong,而无需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 作为短无符号整数的位模式被 short 解释为 -15,536。

C++ 中的类型限定符

类型限定符提供了有关它们前面的变量的其他信息。

序号 限定符和含义
1

const

类型为const 的对象在程序执行期间不能被程序更改。

2

volatile

修饰符volatile 告诉编译器变量的值可能会以程序未明确指定的方式更改。

3

restrict

restrict 限定的指针最初是访问其指向的对象的唯一方法。只有 C99 添加了一个称为 restrict 的新类型限定符。

广告