クラスのヘッダーファイルでクラスメンバーのデフォルト値を設定するC++11コードを作成する場合、それは良い習慣ですか?
それとも、クラスのコンストラクターでこれを行う方が良いですか?
編集:
つまり:
foo.h:
#include <string>
using std::string;
class Foo{
private:
string greet = "hello";
public:
Foo();
};
VS
foo.cpp(もちろん、必要なヘッダーファイルはありますが、クラス内の初期化はありません):
Foo::Foo(){
greet = "hello";
}
どちらが優れているのか、そしてその理由は?