亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

實例分析C++ explicit的構造函數

2020-02-24 14:29:31
字體:
來源:轉載
供稿:網友

C語言的默認規則是,只有參數的構造函數還定義了隱式轉換,它將構造函數的相應數據類型轉換,本文是武林技術頻道小編為大家簡述的實例分析C++ explicit的構造函數,希望對你學習有幫助!

如下面所示:

class String {String ( const char* p ); // 用C風格的字符串p作為初始化值//…}String s1 = "hello"; //OK 隱式轉換,等價于String s1 = String("hello");

但是有的時候可能會不需要這種隱式轉換,如下:

class String {    String ( int n ); //本意是預先分配n個字節給字符串String ( const char* p ); // 用C風格的字符串p作為初始化值//…}

下面兩種寫法比較正常:

String s2 ( 10 );  //OK 分配10個字節的空字符串String s3 = String ( 10 ); //OK 分配10個字節的空字符串

下面兩種寫法就比較疑惑了:

String s4 = 10; //編譯通過,也是分配10個字節的空字符串String s5 = 'a'; //編譯通過,分配int('a')個字節的空字符串

s4 和s5 分別把一個int型和char型,隱式轉換成了分配若干字節的空字符串,容易令人誤解。
為了避免這種錯誤的發生,我們可以聲明顯示的轉換,使用explicit 關鍵字:

class String {    explicit String ( int n ); //本意是預先分配n個字節給字符串String ( const char* p ); // 用C風格的字符串p作為初始化值//…}

加上explicit,就抑制了String ( int n )的隱式轉換,
?
下面兩種寫法仍然正確:

String s2 ( 10 );  //OK 分配10個字節的空字符串String s3 = String ( 10 ); //OK 分配10個字節的空字符串

下面兩種寫法就不允許了:

String s4 = 10; //編譯不通過,不允許隱式的轉換String s5 = 'a'; //編譯不通過,不允許隱式的轉換

因此,某些時候,explicit 可以有效得防止構造函數的隱式轉換帶來的錯誤或者誤解

explicit只對構造函數起作用,用來抑制隱式轉換。如:???

class  A{    A(int a);  };  int Function(A a);  

當調用?? Function(2)?? 的時候,2?? 會隱式轉換為?? A?? 類型。這種情況常常不是程序員想要的結果,所以,要避免之,就可以這樣寫:???

class  A  {   explicit  A(int  a);  };  int  Function(A  a);  

這樣,當調用Function(2)的時候,編譯器會給出錯誤信息(除非Function有個以int為參數的重載形式),這就避免了在程序員毫不知情的情況下出現錯誤。

以上就是關于實例分析C++ explicit的構造函數的相關介紹,希望通過武林技術頻道分享的知識,可以讓你鞏固這方面的知識。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产高清自在线| 91网站免费观看| 欧美成人精品在线观看| 91日本在线观看| 5566成人精品视频免费| 色悠悠国产精品| 中文欧美在线视频| 亚洲天堂av电影| 国产手机视频精品| 欧美国产日韩中文字幕在线| 欧美国产日韩一区二区三区| 久久精品视频免费播放| 日韩av有码在线| 视频一区视频二区国产精品| 亚洲欧美国产一区二区三区| 日韩色av导航| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久久久久久一| 中文国产成人精品久久一| 国产日韩欧美在线播放| 欧美精品在线观看| 久久视频这里只有精品| 中文字幕亚洲天堂| 国产精品第8页| 性欧美长视频免费观看不卡| 欧美性猛交xxxx偷拍洗澡| 亚洲国产精品嫩草影院久久| 成人国产精品久久久久久亚洲| 久久不射电影网| 国产精品久久久久久久久久三级| 57pao成人永久免费视频| 欧美日韩国产麻豆| 精品国产一区二区三区久久狼5月| 色诱女教师一区二区三区| 国产福利精品视频| 国产伦精品一区二区三区精品视频| 欧美视频一二三| 色老头一区二区三区| 欧美成人一区二区三区电影| 91精品久久久久久久久久入口| 欧美—级高清免费播放| 91视频国产高清| 亚洲成人在线网| 浅井舞香一区二区| 97在线精品国自产拍中文| 亚洲精品一区av在线播放| 欧美高清无遮挡| 米奇精品一区二区三区在线观看| 欧美国产视频一区二区| 久久综合久中文字幕青草| 97欧美精品一区二区三区| 久久久久久久久久国产| 欧美日韩午夜激情| 欧美精品videosex牲欧美| 一本大道香蕉久在线播放29| 久久精品国产免费观看| 欧美激情一区二区久久久| 热99在线视频| 亚洲精品成a人在线观看| 精品久久久精品| 欧美黑人xxxx| 国产激情久久久| 91欧美视频网站| 中文综合在线观看| 国产精品一区二区三区成人| 狠狠色狠色综合曰曰| 欧美自拍视频在线观看| 久久成人免费视频| 欧美精品激情blacked18| 欧美成人精品一区二区三区| 欧美精品做受xxx性少妇| 91精品国产自产在线老师啪| 久久精品夜夜夜夜夜久久| 久久久91精品国产| 国产成人avxxxxx在线看| 中日韩午夜理伦电影免费| 国产精品jizz在线观看麻豆| 国产美女直播视频一区| 国产亚洲欧美一区| 欧美另类极品videosbestfree| 国产精品高潮呻吟久久av无限| 国产玖玖精品视频| 国产69精品久久久久9999| 亚洲精品久久久久中文字幕欢迎你| 亚洲女同性videos| 欧美日韩一区二区精品| 97精品欧美一区二区三区| 亚洲欧美福利视频| 国产精品成人一区二区三区吃奶| 成人h片在线播放免费网站| 97在线看福利| 欧美自拍视频在线| 2021久久精品国产99国产精品| 久久777国产线看观看精品| 国产精品成人在线| 日本午夜在线亚洲.国产| 日韩中文字幕av| 国产一区二区精品丝袜| 38少妇精品导航| 久久av中文字幕| 久久在线精品视频| 日韩av一区在线观看| 国产精品羞羞答答| 欧美成人性色生活仑片| 亚洲成色999久久网站| 91美女福利视频高清| 精品福利樱桃av导航| 欧美电影电视剧在线观看| 一本色道久久88亚洲综合88| 日韩在线国产精品| 精品国产欧美一区二区三区成人| 亚洲国产精品久久久久久| 亚洲国产精品免费| 日韩美女主播视频| 最近2019年好看中文字幕视频| 亚洲自拍偷拍网址| 亚洲欧美日韩成人| 欧美激情亚洲综合一区| 免费91麻豆精品国产自产在线观看| 国产99在线|中文| 亚洲最大中文字幕| 久久久国产成人精品| 91美女福利视频高清| 91国产精品视频在线| 欧美激情欧美激情在线五月| 日韩欧美精品免费在线| 久久成人18免费网站| 亚洲色图13p| 精品国产乱码久久久久久虫虫漫画| 精品久久久久久亚洲精品| 狠狠色香婷婷久久亚洲精品| 琪琪亚洲精品午夜在线| 日韩中文字幕av| 中文字幕日韩专区| 国产一区二区色| 久久综合伊人77777尤物| 欧美精品日韩www.p站| 国产精品久久久久秋霞鲁丝| 国产一区二区三区丝袜| 97在线视频一区| 国产欧美在线观看| 亚洲成人网av| 亚洲偷熟乱区亚洲香蕉av| 国产精品男人的天堂| 992tv在线成人免费观看| 日韩免费黄色av| 日日噜噜噜夜夜爽亚洲精品| 国产精品久久久av久久久| 97av在线影院| 国产精品免费久久久久影院| 亚洲第一级黄色片| 欧美日韩免费观看中文| 欧美成人自拍视频| 51久久精品夜色国产麻豆| 久久久久久久久久国产| 国产色婷婷国产综合在线理论片a| 国产精品久久中文| xvideos国产精品| 国产精品青青在线观看爽香蕉| 精品国偷自产在线视频99| 亚洲电影免费观看高清完整版| 欧美床上激情在线观看| 欧美视频在线视频| 青青久久av北条麻妃海外网|