WikipediaやMore C++ Idiomsでも紹介されている、シングルトンインスタンスの確保の仕方
C++
1class Singleton { 2 // 各種コンストラクタを外部から呼べなくするあれこれ 3 : 4 5 // インスタンスの取得メソッド 6 static Singleton& getInstance(){ 7 static Singleton inst; 8 return inst; 9 } 10 11 // 以下実装 12 : 13}
ですが、このクラスをヘッダファイルで宣言した場合にSingleton::getInstance() が唯一オブジェクトを返してくれる理由が今ひとつ理解できていません。
このファイルを Singleton.h と名付けたとして、複数のcppファイルからこのヘッダをインクルードした場合、各cppファイルで別々にこのヘッダが展開され、別々にこのクラスを認識し、getInstance関数も定義されたことになるので、各cppファイル毎に別のインスタンスを見てしまうのでは? と疑問に思うわけです。
どう理解すべきでしょうか。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/14 03:02