Singletonを使うとユニットテストが難しいよねという話。 実際は自分流のSingletonの書き方の変遷をまとめただけ。 最初の頃、Singletonは次のように書いていた。 class Foo { public: void someFunc() { // do something } static Foo* getInstance() { if(!instance_) { instance_ = new Foo(); } return instance_; } private: Foo() {} // コンストラクタ static Foo* instance_; }; Foo* Foo::instance_ = NULL; int main() { Foo* foo = Foo::getInstance(); foo->someFun(); } この書き方の問題点 newしているの