看看你寫的類定義是否合理? 關於部分構造的問題

2022-04-11 09:38:13 字數 585 閱讀 9506

以下文字摘抄自c++程式語言中文版p326

考慮下面的類定義:

1

class

x 4 ~x() 56

private:7

int*p;

8void

init();

910 }

這個類定義存在的問題是:它有可能導致「儲存流失」。如果init()丟擲異常,那麼申請到的儲存就不會被釋放,因為有關物件並沒有構造完成,對它不會呼叫析構函式。一種安全的變形是

1

classz 4

//...56

private

:7 vectorp;

8void

init();

9 }

下面再給出一些說明性的知識:

乙個由子物件組成的物件的構造將一直持續到它所有的子物件都完成了構造工作。

陣列的構造一直持續到它的所有元素都構造完成。

建構函式試圖去保證物件能夠完全、正確地建立起來。如果這個目標無法達到,那麼書寫良好的建構函式就應當將系統的狀態(盡可能地)恢復到物件開始構造之前的情況。

分享我寫的CPU測試程式,看看你的CPU強勁嗎?

你是否很想知道自己的cpu到底效能如何?你是否覺得那些測試軟體太麻煩了?你是否覺得如果有免費的測試軟體就太好了?這個程式可以測試cpu整數效能 浮點數效能 快取記憶體效能和多工處理效能 還有什麼好想的呢?完全免費,綠色免安裝,簡單明瞭 記得測完之後把資料放上來,提供給大家作個比對 戀花蝶email ...

看看你是哪一型別的CTO

下面看看你是哪一型別的cto 第一類是天才型 天才cto善於創造新的東西,富於想象力並且自信,開拓獨特的機會 第二類是管理者型 管理者型的 cto 必須節省公司的預算,以免在技術產品,服務和專案勞動力上超標。第三類是主管型的 主管型的cto 樂於放棄直接干預研究,以為其他人創造乙個良好的環境,以使他...

看看你是哪一型別的CTO

下面看看你是哪一型別的cto 第一類是天才型 天才cto善於創造新的東西,富於想象力並且自信,開拓獨特的機會 第二類是管理者型 管理者型的 cto 必須節省公司的預算,以免在技術產品,服務和專案勞動力上超標。第三類是主管型的 主管型的cto 樂於放棄直接干預研究,以為其他人創造乙個良好的環境,以使他...