| 查看: 1457 | 回復(fù): 14 | ||
微塵、夢想木蟲 (知名作家)
|
[求助]
復(fù)制構(gòu)造函數(shù)問題
|
|
書上說:復(fù)制構(gòu)造函數(shù)在以下3種情況下會被調(diào)用: 1、用類的對象去初始化該類的另一個對象時; 2、函數(shù)的形參是類的對象時; 3、函數(shù)的返回值是類的對象時。 程序: 問題:該程序在第三種情況時并沒有調(diào)用復(fù)制構(gòu)造函數(shù),其執(zhí)行結(jié)果為: 調(diào)用復(fù)制構(gòu)造函數(shù) 10 40 調(diào)用復(fù)制構(gòu)造函數(shù) 100 800 3 5 不知道為什么,謝謝各位指點。。 |

至尊木蟲 (著名寫手)
驃騎將軍

木蟲 (知名作家)
|
書上是這么說的,然后我去網(wǎng)上查了查也是這么說的啊~~ http://baike.baidu.com/view/2329038.htm 5.何時使用復(fù)制構(gòu)造函數(shù) |

至尊木蟲 (著名寫手)
驃騎將軍

木蟲 (知名作家)

至尊木蟲 (著名寫手)
驃騎將軍
|
5.何時使用復(fù)制構(gòu)造函數(shù):按值傳遞對象,函數(shù)返回對象,用一個對象初始化另一個對象即復(fù)制初始化時,根據(jù)元素初始化列表初始化數(shù)組元素。這四種情況都將調(diào)用復(fù)制構(gòu)造函數(shù)。記住,復(fù)制構(gòu)造函數(shù)只能用于初始化,不能用于賦值,賦值時不會調(diào)用復(fù)制構(gòu)造函數(shù),而是使用賦值操作符。 ======================= 我覺得不應(yīng)該調(diào)用,但是vc調(diào)用了 |

至尊木蟲 (著名寫手)
驃騎將軍

木蟲 (知名作家)

金蟲 (著名寫手)
|
你記住一些規(guī)則和一些例外就可以理解了: 規(guī)則1:任何C++對象都需要由構(gòu)造函數(shù)初始化,特別的,內(nèi)建類型也支持初始化語法,如int n(0); 規(guī)則2:任何已經(jīng)存在的C++對象都不再調(diào)用構(gòu)造函數(shù),對已經(jīng)存在的對象賦值的結(jié)果就是調(diào)用operator= 但是,C++的語法導(dǎo)致了很多陷進(jìn)。陷進(jìn)之一就是,對這樣的語法: 三種情況實際上是等價的,第一種是最有效的方式;第二種的話,如果編譯器不夠聰明,就會先初始化A(7)和a2,然后對a2調(diào)用operator=,如果沒有默認(rèn)構(gòu)造函數(shù),就會出錯;第三種情況就是第二種情況的后備,更加有效,而且即使屏蔽默認(rèn)構(gòu)造函數(shù)也不會有出錯的風(fēng)險。 當(dāng)然,如果編譯器足夠聰明,就會阻止樓主往陷進(jìn)里面跳了。所以,嗯,工欲善其事必先利其器啊 |

金蟲 (著名寫手)

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 335求調(diào)劑 +4 | yuyu宇 2026-03-23 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 299求調(diào)劑 +5 | 某某某某位 2026-03-21 | 5/250 |
|
|
[考研] 327求調(diào)劑 +5 | prayer13 2026-03-23 | 5/250 |
|
|
[考研] 生物學(xué)一志愿985,分?jǐn)?shù)349求調(diào)劑 +6 | zxts12 2026-03-21 | 9/450 |
|
|
[考研] 336化工調(diào)劑 +4 | 王大坦1 2026-03-23 | 5/250 |
|
|
[考研] 一志愿南京理工大學(xué)085701資源與環(huán)境302分求調(diào)劑 +5 | 葵梓衛(wèi)隊 2026-03-18 | 7/350 |
|
|
[考研] 350求調(diào)劑 +6 | weudhdk 2026-03-19 | 6/300 |
|
|
[考研] 263求調(diào)劑 +6 | yqdszhdap- 2026-03-22 | 9/450 |
|
|
[考研] 石河子大學(xué)(211、雙一流)碩博研究生長期招生公告 +3 | 李子目 2026-03-22 | 3/150 |
|
|
[考研] 307求調(diào)劑 +11 | 冷笙123 2026-03-17 | 11/550 |
|
|
[考研] 315分,誠求調(diào)劑,材料與化工085600 +3 | 13756423260 2026-03-22 | 3/150 |
|
|
[考研] 求調(diào)劑一志愿海大,0703化學(xué)學(xué)碩304分,有大創(chuàng)項目,四級已過 +6 | 幸運(yùn)哩哩 2026-03-22 | 10/500 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +5 | 我愛生物生物愛?/a> 2026-03-17 | 5/250 |
|
|
[考研] 269專碩求調(diào)劑 +6 | 金恩貝 2026-03-21 | 6/300 |
|
|
[考研] 313求調(diào)劑 +4 | 肆叁貳壹22 2026-03-19 | 4/200 |
|
|
[考研] 一志愿中海洋材料工程專碩330分求調(diào)劑 +8 | 小材化本科 2026-03-18 | 8/400 |
|
|
[考研] 一志愿武漢理工材料工程專碩調(diào)劑 +9 | Doleres 2026-03-19 | 9/450 |
|
|
[考研] 0817 化學(xué)工程 299分求調(diào)劑 有科研經(jīng)歷 有二區(qū)文章 +22 | rare12345 2026-03-18 | 22/1100 |
|
|
[考研] 求調(diào)劑 +3 | @taotao 2026-03-20 | 3/150 |
|
|
[碩博家園] 湖北工業(yè)大學(xué) 生命科學(xué)與健康學(xué)院-課題組招收2026級食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|