Cplusplus 简明教程

C++ Modifier Types

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

数据类型修饰符在此列出 -

  1. signed

  2. unsigned

  3. long

  4. short

修饰符 signed, unsigned, long,short 可以应用于整数基类型。此外, signedunsigned 可以应用于 char,并且 long 可以应用于 double。

修饰符 signedunsigned 也可以用作 longshort 修饰符的前缀。例如, 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 的位模式被短整数解析为 -15,536。

Type Qualifiers in C++

类型限定符提供有关其前面的变量的附加信息。

Sr.No

Qualifier & Meaning

1

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

2

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

3

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