當前位置:
首頁 > 知識 > C語言C加加 修飾符類型

C語言C加加 修飾符類型

C++ 允許在char、int 和 double數據類型前放置修飾符。修飾符用於改變基本類型的含義,所以它更能滿足各種情境的需求。

下面列出了數據類型修飾符:

signed

unsigned

long

short

修飾符signed、unsigned、long 和 short可應用於整型,signedunsigned可應用於字元型,long可應用於雙精度型。

想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙

修飾符signedunsigned也可以作為longshort修飾符的前綴。例如:unsigned long int

C++ 允許使用速記符號來聲明無符號短整數無符號長整數。您可以不寫 int,只寫單詞unsigned、shortunsigned、long,int 是隱含的。例如,下面的兩個語句都聲明了無符號整型變數。

unsigned x; unsigned int y;

為了理解 C++ 解釋有符號整數和無符號整數修飾符之間的差別,我們來運行一下下面這個短程序:

實例

#include using namespace std; /* * 這個程序演示了有符號整數和無符號整數之間的差別*/int main(){ short int i; // 有符號短整數 short unsigned int j; // 無符號短整數 j = 50000; i = j; cout

當上面的程序運行時,會輸出下列結果:

-15536 50000

上述結果中,無符號短整數 50,000 的位模式被解釋為有符號短整數 -15,536。

C++ 中的類型限定符

類型限定符提供了變數的額外信息。

C++ 常量

C++ 存儲類

筆記列表

g_t

gt@***ms.org

參考地址

C++提供了關鍵字explicit,可以阻止不應該允許的經過轉換構造函數進行的隱式轉換的發生。聲明為explicit的構造函數不能在隱式轉換中使用。

C++中, 一個參數的構造函數(或者除了第一個參數外其餘參數都有默認值的多參構造函數), 承擔了兩個角色。 1 是個構造器 ,2 是個默認且隱含的類型轉換操作符。

所以, 有時候在我們寫下如 AAA = XXX, 這樣的代碼, 且恰好XXX的類型正好是AAA單參數構造器的參數類型, 這時候編譯器就自動調用這個構造器, 創建一個AAA的對象。

這樣看起來好象很酷, 很方便。 但在某些情況下(見下面權威的例子), 卻違背了我們(程序員)的本意。 這時候就要在這個構造器前面加上explicit修飾, 指定這個構造器只能被明確的調用/使用, 不能作為類型轉換操作符被隱含的使用。

explicit構造函數的作用

解析:

explicit構造函數是用來防止隱式轉換的。請看下面的代碼:

class Test1 { public: Test1(int n) { num=n; }//普通構造函數 private: int num; }; class Test2 { public: explicit Test2(int n) { num=n; }//explicit(顯式)構造函數 private: int num; }; int main() { Test1 t1=12;//隱式調用其構造函數,成功 Test2 t2=12;//編譯錯誤,不能隱式調用其構造函數 Test2 t2(12);//顯式調用成功 return 0; }

Test1的構造函數帶一個int型的參數,代碼23行會隱式轉換成調用Test1的這個構造函數。而Test2的構造函數被聲明為explicit(顯式),這表示不能通過隱式轉換來調用這個構造函數,因此代碼24行會出現編譯錯誤。

普通構造函數能夠被隱式調用。而explicit構造函數只能被顯式調用。

想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 C加加 的精彩文章:

下面的C語言代碼可能會產生無限循環看半天才意識到Bug在哪裡

TAG:C加加 |

您可能感興趣

C語言/C加加編程學習—坦克大戰小遊戲製作代碼
C語言C加加編程快速入門系列
中軟國際哈爾濱ETC:C語言和C加加 哪個效率更高
從C語言實戰談C語言編程,談談C/C加加今後發展!
C語言/C加加編程學習—代碼訓練之神奇星空動態繼承
C語言/C加加編程學習,怎樣判斷某一文件是否存在
C/C加加大神 編寫聊天機器人 試試手
有哪些適合新手練手的C/C加加項目
C語言/C加加編程嵌入式基礎學習之volatile關鍵字
三所俄羅斯大學將增加加密貨幣課程和學位
看臉型選髮型,讓髮型給你的顏值加加分
無處不在的加加林:俄羅斯有個加加林市,還有加加林街
Opera瀏覽器為智能手機增加加密貨幣保護
加加食品引入東方資產實施債務重組
Sa花油麵膜|PICK對面膜,為你的夏日魅力加加分
寄語加加·養成良好的生活習慣
C/C加加新手應該怎麼學習,如何學習才有發展
英國匯款服務平台TransferGo增加加密數字資產交易服務
22款醬油對比測評:高檔貨加味精,海天、味事達、加加無一例外!
新功能:Android P將增加加密DNS連接