可能性の重複:C++の初期化
C() : i(new A()) { }
私はhttp://en.wikipedia.org/wiki/Delegation_patternに、私は前に私が見ていない何かに気づい++の例Cを見ていたが問題は:このコード行はどのように異なっていますか:
C() {
i = new A();
}
コンストラクタの後に:
は何をしますか? new A()
の角括弧は何をしていますか?
可能性の重複:C++の初期化
C() : i(new A()) { }
私はhttp://en.wikipedia.org/wiki/Delegation_patternに、私は前に私が見ていない何かに気づい++の例Cを見ていたが問題は:このコード行はどのように異なっていますか:
C() {
i = new A();
}
コンストラクタの後に:
は何をしますか? new A()
の角括弧は何をしていますか?
initialization listと呼ばれます。これは、クラスのデータメンバーを初期化するために使用されます。
C() {
i = new A(); // i is not initialized here, here assignment is taking place.
}
も可能【初期値とクラス構成](http://stackoverflow.com/questions/7207884/class-construction-with-initial-values)の複製と:http://stackoverflow.com/質問/ 4589237/c-initialization-lists –
何が呼び出されたのかわからなかったので、何を検索するのか分からなかった、重複して申し訳ありません、リンクしたトピックを読みます。ありがとう。 – karthaxx