最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中explict關(guān)鍵字用法

 更新時間:2016年05月03日 17:25:32   作者:randall235  
這篇文章主要介紹了C++中explict關(guān)鍵字用法的相關(guān)資料,本文介紹的非常詳細,具有參考借鑒價值,感興趣的朋友一起學習吧

C++提供了關(guān)鍵字explicit,可以阻止不應該允許的經(jīng)過轉(zhuǎn)換構(gòu)造函數(shù)進行的隱式轉(zhuǎn)換的發(fā)生。聲明為explicit的構(gòu)造函數(shù)不能在隱式轉(zhuǎn)換中使用。

c++規(guī)定:對于可能只需傳一個參數(shù)的默認構(gòu)造函數(shù),都定義了一種隱式調(diào)用。

注意:只需傳一個參數(shù)不僅指的是只有一個參數(shù)的默認構(gòu)造函數(shù),也指那些包含了定義了參數(shù)默認值的那些默認構(gòu)造函數(shù)。

舉例說明:

class MyClass
{
  public:
    MyClass();
    MyClass(string s);
    MyClass(int i, int y = 0);
}

這里的MyClass(string s)函數(shù)和MyClass(int i, int y = 0)函數(shù)都是可能只需傳一個參數(shù)的默認構(gòu)造函數(shù)

看一下使用構(gòu)造函數(shù)構(gòu)造類對象的情況:

•MyClass obj1;//OK,調(diào)用了MyClass()

•MyClass obj2(string("Hello World!"));//OK,調(diào)用了MyClass(string s)

•MyClass obj3(12, 12);//OK,調(diào)用了MyClass(int i, int y = 0)

•MyClass obj4(12);//同上

•MyClass obj5 = 12;//同上。但是對于obj5,實際上等價于MyClass temp(12);MyClass obj5(temp);//也就是說默認調(diào)用了默認拷貝構(gòu)造函數(shù)。這就是所謂的隱式調(diào)用。

大部分情況下,隱式調(diào)用都會產(chǎn)生bug,而且很難察覺?;诖耍珻++引入explict關(guān)鍵字關(guān)閉這種隱式調(diào)用,避免因為隱式調(diào)用而產(chǎn)生的bug。

相關(guān)文章

  • C++動態(tài)分配和撤銷內(nèi)存以及結(jié)構(gòu)體類型作為函數(shù)參數(shù)

    C++動態(tài)分配和撤銷內(nèi)存以及結(jié)構(gòu)體類型作為函數(shù)參數(shù)

    這篇文章主要介紹了C++動態(tài)分配和撤銷內(nèi)存以及結(jié)構(gòu)體類型作為函數(shù)參數(shù),是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C++ 實現(xiàn)靜態(tài)鏈表的簡單實例

    C++ 實現(xiàn)靜態(tài)鏈表的簡單實例

    這篇文章主要介紹了C++ 實現(xiàn)靜態(tài)鏈表的簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C語言實現(xiàn)十進制轉(zhuǎn)任意進制的代碼詳解

    C語言實現(xiàn)十進制轉(zhuǎn)任意進制的代碼詳解

    這篇文章主要介紹了C語言實現(xiàn)十進制轉(zhuǎn)任意進制,運用一個數(shù)組,通過數(shù)字每次取任意進制模,存在數(shù)組中, 再通過倒取數(shù)組中的數(shù)值,來實現(xiàn)進制轉(zhuǎn)換,如果遇到十六進制,利用ASCII碼值  數(shù)字字符和大寫字母 相差55的特性來解決,文中有詳細代碼示例,需要的朋友可以參考下
    2024-05-05
  • dword ptr指令詳細解析

    dword ptr指令詳細解析

    8086CPU的指令,可以處理兩種尺寸的數(shù)據(jù),byte和word。所以在機器指令中要指明,指令進行的是字操作還是字節(jié)操作
    2013-09-09
  • vs2022項目文件夾內(nèi).vs文件夾容量虛高問題的解決

    vs2022項目文件夾內(nèi).vs文件夾容量虛高問題的解決

    經(jīng)常會發(fā)現(xiàn)VS的項目文件夾占用空間很大,本文主要介紹了vs2022項目文件夾內(nèi).vs文件夾容量虛高問題的解決,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • C++實現(xiàn)LeetCode(110.平衡二叉樹)

    C++實現(xiàn)LeetCode(110.平衡二叉樹)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(110.平衡二叉樹),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • c語言static關(guān)鍵字用法詳解

    c語言static關(guān)鍵字用法詳解

    大家好,本篇文章主要講的是c語言static關(guān)鍵字用法詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 關(guān)于函數(shù)調(diào)用方式__stdcall和__cdecl詳解

    關(guān)于函數(shù)調(diào)用方式__stdcall和__cdecl詳解

    下面小編就為大家?guī)硪黄P(guān)于函數(shù)調(diào)用方式__stdcall和__cdecl詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • C++實現(xiàn)五子棋游戲

    C++實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細介紹了C++實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言實現(xiàn)航班管理系統(tǒng)

    C語言實現(xiàn)航班管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)航班管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12

最新評論

嵊泗县| 宜都市| 泰州市| 建宁县| 景泰县| 调兵山市| 宜君县| 德惠市| 会昌县| 辰溪县| 蒙山县| 民勤县| 嘉禾县| 揭西县| 资中县| 博白县| 陈巴尔虎旗| 合阳县| 泊头市| 庆阳市| 大关县| 鹤峰县| 海门市| 吴堡县| 什邡市| 夏邑县| 永年县| 天全县| 茌平县| 马公市| 神农架林区| 凤庆县| 栾城县| 乐平市| 叶城县| 鹰潭市| 永宁县| 莱西市| 雅江县| 康保县| 中牟县|