第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c++,當構(gòu)造函數(shù)失敗時,構(gòu)造函數(shù)內(nèi)部怎么處理?

c++,當構(gòu)造函數(shù)失敗時,構(gòu)造函數(shù)內(nèi)部怎么處理?

MMMHUHU 2019-02-13 20:11:54
c++,當構(gòu)造函數(shù)失敗時,構(gòu)造函數(shù)內(nèi)部怎么處理?
查看完整描述

2 回答

?
千巷貓影

TA貢獻1829條經(jīng)驗 獲得超7個贊

你沒有明確什么叫“構(gòu)造函數(shù)失敗”。我的理解是:構(gòu)造函數(shù)中某一個執(zhí)行過程沒有得到你期望的結(jié)果。
如果我的理解是你想表達的,那么構(gòu)造函數(shù)內(nèi)部的處理是這樣:
1. 構(gòu)造函數(shù)想通知外部自己構(gòu)造失敗,只有拋異常這一個途徑(沒有返回值);
2. 如果你不拋異常,那么構(gòu)造函數(shù)執(zhí)行完畢,從語言層面上編譯器認為該對象是正確構(gòu)造了的,只有你知道其實構(gòu)造沒有按預(yù)想的進行,所以你需要用狀態(tài)變量、構(gòu)造函數(shù)引用參數(shù)或什么其他玩意兒讓外界可以知道構(gòu)造失敗了。
3. 如果你拋異常標識構(gòu)造失敗,那么,所有已經(jīng)構(gòu)造好的基類對象和數(shù)據(jù)成員會按照構(gòu)造逆序逐個進行析構(gòu)(基礎(chǔ)數(shù)據(jù)類型除外,因為它們析構(gòu)就是什么都不做)。這里有一點要注意,如果發(fā)生了動態(tài)內(nèi)存分配,那需要在拋異常前手動釋放內(nèi)存,否則會有內(nèi)存泄漏。

查看完整回答
反對 回復(fù) 2019-03-26
?
BIG陽

TA貢獻1859條經(jīng)驗 獲得超6個贊

  1、構(gòu)造函數(shù)想通知外部自己構(gòu)造失敗,只有拋異常這一個途徑(沒有返回值);
  2、 如果不拋異常,那么構(gòu)造函數(shù)執(zhí)行完畢,從語言層面上編譯器認為該對象是正確構(gòu)造了的,其實構(gòu)造沒有按預(yù)想的進行,所以需要用狀態(tài)變量、構(gòu)造函數(shù)引用參數(shù)就可以讓外界可以知道構(gòu)造失敗了。
  3.、如果拋異常標識構(gòu)造失敗,那么,所有已經(jīng)構(gòu)造好的基類對象和數(shù)據(jù)成員會按照構(gòu)造逆序逐個進行析構(gòu)(基礎(chǔ)數(shù)據(jù)類型除外,因為它們析構(gòu)就是什么都不做)。這里有一點要注意,如果發(fā)生了動態(tài)內(nèi)存分配,那需要在拋異常前手動釋放內(nèi)存,否則會有內(nèi)存泄漏。
  構(gòu)造函數(shù) ,是一種特殊的方法。主要用來在創(chuàng)建對象時初始化對象, 即為對象成員變量賦初始值,總與new運算符一起使用在創(chuàng)建對象的語句中。特別的一個類可以有多個構(gòu)造函數(shù) ,可根據(jù)其參數(shù)個數(shù)的不同或參數(shù)類型的不同來區(qū)分它們 即構(gòu)造函數(shù)的重載。



查看完整回答
反對 回復(fù) 2019-03-26
  • 2 回答
  • 0 關(guān)注
  • 1279 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號