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 的新型別限定符。

廣告