次のようなクラス Engine があるとします。
class Engine
{
public:
private:
Game * m_pGame;
}
そして、そのコンストラクターに初期化リストを使用したい:
// Forward declaration of the function that will return the
// game instance for this particular game.
extern Game * getGame();
// Engine constructor
Engine::Engine():
m_pGame(getGame())
{
}
そのイニシャライザはm_pGame
賢明ですか?
つまり、関数を使用してコンストラクターでメンバー変数を初期化することは問題ありませんか?