可能性の重複:
Why should I prefer to use member initialization list?変数を初期化し、オブジェクトを構築する際に変数を割り当てるために、内部的にどのコンパイラが行いますか?
クラスAは、メンバ変数iを持っています。私はオブジェクトの作成中に初期化または割り当てることができます。
A)
class A {
int i;
public:
A(int _i) : i(_i){}
}
B初期化する)を割り当てる
class A {
int i;
public:
A(int _i) : { i = _i}
}
私の質問これら2アプローチの基本的な違いは何かありますか?
'int'のような単純なPODタイプの場合は?何もない。 –
同じ質問ではありませんが、興味があるかもしれません:http://stackoverflow.com/questions/926752/why-should-i-prefer-to-use-member-initialization-list – Corbin
@Corbinはい、それは同じではありません質問をしていますが、これはかなり完全に答えています。短いバージョン:Aはメンバクラスの初期化の方が優れており、 'const'メンバを初期化する唯一の方法です。 – trutheality