欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Explicit keyword

系統(tǒng) 1821 0

說(shuō)實(shí)話,從來(lái)沒(méi)有感覺(jué)到這個(gè)keyword實(shí)用,直到今天。

explicit 的意思是明顯的 , 和它相相應(yīng)的一個(gè)詞是 implicit 意思是隱藏的。

我參考了 MSDN c++ 標(biāo)準(zhǔn)程序庫(kù)》對(duì)這個(gè)keyword的描寫敘述,并參考了網(wǎng)絡(luò)上對(duì)這個(gè)keyword的解釋。現(xiàn)將它的用法和總結(jié)記錄例如以下:

首先這個(gè)keyword僅僅能用在 類構(gòu)造函數(shù) 。它的作用是不能進(jìn)行隱式轉(zhuǎn)換。

class gxgExplicit ? // 沒(méi)有keyword explicit 的類

{

public :

?? int _size;

?? gxgExplicit( int size)

?? {

????? _size = size;

?? }

};

以下是調(diào)用

?? gxgExplicit gE1(24); ???? // 這樣是沒(méi)有問(wèn)題的

?? gxgExplicit gE2 = 1; ???? // 這樣也是沒(méi)有問(wèn)題的

?? gxgExplicit gE3; ???????? // 這樣是不行的,沒(méi)有默認(rèn)構(gòu)造函數(shù)

?? gE1 = 2; ????????????? ?? // 這樣也是沒(méi)有問(wèn)題的

?? gE2 = 3; ????????????? ?? // 這樣也是沒(méi)有問(wèn)題的

?? gE2 = gE1; ?????????????? // 這樣也是沒(méi)有問(wèn)題的

?

可是假如 gxgExplicit 改動(dòng)為 Stack ,我們的 _size 代表的是堆棧的大小,那么調(diào)用的第二句就顯得不倫不類,并且easy讓人疑惑。這并非能夠讓代碼閱讀者明確和接受的形式,盡管它是合法的(編譯器能夠通過(guò)編譯)。這是由于編譯器默認(rèn)情況下有隱式轉(zhuǎn)換的功能,你輸入 gE2 = 1 就編譯成同第一句同樣的結(jié)果。所以, explicit 就派上了用場(chǎng)。改動(dòng)代碼為:

class gxgExplicit

{

public :

?? int _size;

?? explicit gxgExplicit( int size)

?? {

????? _size = size;

?? }

};

繼續(xù)上面的調(diào)用 :

?? gxgExplicit gE1(24); ???? // 這樣是沒(méi)有問(wèn)題的

?? gxgExplicit gE2 = 1; ???? // 這樣是不行的,keyword取消了隱式轉(zhuǎn)換

?? gxgExplicit gE3; ???????? // 這樣是不行的,沒(méi)有默認(rèn)構(gòu)造函數(shù)

?? gE1 = 2; ????????????? ?? // 這樣是不行的,keyword取消了隱式轉(zhuǎn)換

?? gE2 = 3; ????????????? ?? // 這樣是不行的,keyword取消了隱式轉(zhuǎn)換

?? gE2 = gE1; ?????????????? // 這樣是不行的,keyword取消了隱式轉(zhuǎn)換,除非類實(shí)現(xiàn)操作符“ = ”的重載。

這是編譯器( vs2005 )顯示: cannot convert from 'int' to 'gxgExplicit'

從這里也就看出這個(gè)keyword的作用是將編譯器隱式轉(zhuǎn)換的功能給屏蔽掉。

?

MSDN 上有一個(gè)注意點(diǎn)描寫敘述了以下的事實(shí),當(dāng)構(gòu)造函數(shù)參數(shù)超過(guò)兩個(gè)時(shí)自己主動(dòng)取消隱式轉(zhuǎn)換。比如

class gxgExplicit

{

private :

?? int _size;

?? int _age;

public :

?? explicit gxgExplicit( int age, int size)

?? {

????? _age = age;

????? _size = size;

?? }

};

這是有沒(méi)有keyword效果是一樣的。那就是相當(dāng)于有這個(gè)keyword。

可是第二種情況例外:當(dāng)中僅僅有一個(gè)必須輸入的參數(shù),其余的為有默認(rèn)值的參數(shù)。

class gxgExplicit

{

private :

?? int _size;

?? int _age;

public :

?? explicit gxgExplicit( int age, int size = 0)

?? {

????? _age = age;

????? _size = size;

?? }

};

class gxgExplicit

{

private :

?? int _size;

?? int _age;

int _hight;

public :

?? explicit gxgExplicit( int age, int size = 0)

?? {

????? _age = age;

????? _size = size;

????? _hight = hight;

?? }

};

?

這種情況下相當(dāng)于一個(gè)參數(shù)的效果。

到如今為止。這個(gè)keyword就是這么用了。

?

?

?

Explicit keyword


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 午夜18禁A片兔费看 四虎影视在线看免费完整版 | 性 毛片 | 国产精品夜色一区二区三区 | 黄a在线观看 | 午夜爽爽性刺激一区二区视频 | 久久精品欧美 | 亚洲综合在线网 | 欧美日韩国产在线 | 欧美搞b | 欧美一区二区三区四区夜夜大片 | 98精品国产高清在线xxxx | 精久久久 | 四虎影视国产884a精品亚洲 | 九九视频在线看精品 | 国产色a | 一区视频 | 精品国产成a人在线观看 | 久久久久无码国产精品一区 | 成人片黄网站A片免费 | 亚洲欧美综合网 | 亚洲99影视一区二区三区 | 在线二区人妖系列 | 黄色片视频在线观看 | 国产在线精品一区 | 一级黄色片武则天 | 69久久| 91麻豆国产极品在线观看洋子 | 精品国产一区二区在线 | 日韩城人网站 | 久久亚洲国产精品日日av夜夜 | 国产精品香蕉一区二区三区 | 男女xx | 日韩欧美精品综合久久 | 情欲色香味 | 亚洲综合图片色婷婷另类小说 | 中文字幕一区二区三区四区不卡 | 2022国产成人精品福利网站 | 香蕉国产在线观看免费 | 日本视频网站在线观看 | 又爽又黄又无遮挡的激情视频免费 | 九九影院理论片 |