我被士丹利李普曼閱讀C++底漆第4版,我92頁約值初始化上。C++值初始化
我只是不約值初始化時理解。我瀏覽過,我知道也有默認初始化和零初始化。任何人都可以解釋價值初始化?
來到這一段..
子句)
「有些類沒有定義默認 構造函數。我們不能指定 只有大小初始化這種類型的 載體,我們還必須指定一個 的初始值「
我明白上面的內容,但我發現下面的內容與ab相矛盾Ove句子。
子句B)
「元素類型可能是一個類類型 沒有定義任何構造的。 在這種情況下,庫仍然 產生一個值初始化的對象,它 這樣做通過價值初始化該對象的每個 成員「
我不明白b條款。
任何幫助理解
你能不能給我根據條款B一些示例)? – yapkm01 2011-04-18 00:10:11
@ yapmk01:用一些示例更新了答案 – Erik 2011-04-18 00:17:21
我是C++新手。我來自Java背景。 b)你提到的Foo():mem(0){} ..不是Foo()的默認構造函數嗎?在Java中,默認構造函數是沒有任何參數的構造函數。C++類可以根本沒有構造函數(也就是說沒有默認的構造函數)?從我的理解。如果你不提供任何構造函數,編譯器會爲你生成默認的構造函數。如果C++類可以根本沒有構造器,那麼你如何初始化它? – yapkm01 2011-04-18 02:42:26