0
巨型新問題,我根本無法在google上找到答案。在C++中初始化類成員對象
說,我有以下類:
class A {
private:
B b;
public:
A();
};
我將如何去構建一個內部的構造B'我可以嗎:
A() {
b();
}
還是什麼?
在此先感謝。
巨型新問題,我根本無法在google上找到答案。在C++中初始化類成員對象
說,我有以下類:
class A {
private:
B b;
public:
A();
};
我將如何去構建一個內部的構造B'我可以嗎:
A() {
b();
}
還是什麼?
在此先感謝。
查找初始化列表(http://en.cppreference.com/w/cpp/language/initializer_list):
A() : b(...) { }
B被缺省默認構造。只有當您需要與默認構造函數不同的東西時才需要執行此操作。
@PravasiMeet:將事情未初始化通常不是一個好主意。雖然在POD的情況下,有這種可能性是一個好主意。嗯,你的問題比我想的要深。無論如何。在這種情況下,它是不可避免的,假設B是類類型,會自動進行初始化。 –
@LightnessRacesinOrbit我知道初始化列表是什麼,但由於以前只看到它用於基元,並沒有意識到它實際上是用給定的值構造它們。事實上,像整數或字符這樣的東西可以構建的事實對我來說是新聞。 – Sunspawn