修飾符的類型

2018-08-12 22:03 更新

修飾符的類型

C++ 允許 char、intdouble 類型的數(shù)據(jù)可以在其前面使用修飾符。修飾符用于更改數(shù)據(jù)變量的意義以實現(xiàn)變量可以更加精準的運用到其所應用的環(huán)境中。

數(shù)據(jù)類型的修飾符如下:

  1. signed:有符號類型
  2. unsigned:無符號類型
  3. long:長整型
  4. short:短整型

signed、unsigned、longshort 可以應用到整型基礎類型。此外,signedunsigned 可以應用到char類型,long 可以應用到 double 類型。

signedunsigned 也可以作為 longshort 修飾符的前綴。比如,unsigned long int.

C++ 也允許使用簡化字符的方式來聲明 unsigned、shortlong 整數(shù)。程序員可以僅使用 unsigned、shortlong 而不使用 int 來定義整型變量。這里的 int 就被簡化掉了。比如,下面的兩句程序均實現(xiàn)對 unsigned 整型變量的聲明的功能。

    unsigned x;
    unsigned int y;

為了理解 C++ 中 signed 和 unsigned 整數(shù)修飾符的不同??梢試L試著運行下面的程序:

    #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;
    }

上述程序執(zhí)行結果如下:

    -15536 50000

上述結果的背后原因是,unsigned 短整型變量的值為 5000,當時 short 類型時,就是-15536 了。這和值表示范圍有關系。

C++ 中的類型限定符

類型限定符提供了關于變量保存值更豐富的信息:

限定符 意義
const const 類型修飾的對象在起運行周期內(nèi)不可被改變
volatile volatile 修飾符用于提示編譯器,程序中某個變量值的改變可能不是程序顯式修改的
restrict restrict 限定符修飾的指針意味著所有修改該指針所指向內(nèi)容的操作全部都是基于該指針的。僅在 C99 標準中增加了這個修飾符。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號