編集:申し訳ありませんが私の質問は明確ではありませんでした、なぜ本/記事は実装#2よりも実装#1を好むのですか?
シングルトンクラスの実装でポインタを使用することと静的オブジェクトを使用することの実際の利点は何ですか?ほとんどの本がこれを好むのはなぜですか
class Singleton
{
private:
static Singleton *p_inst;
Singleton();
public:
static Singleton * instance()
{
if (!p_inst)
{
p_inst = new Singleton();
}
return p_inst;
}
};
これ以上
class Singleton
{
public:
static Singleton& Instance()
{
static Singleton inst;
return inst;
}
protected:
Singleton(); // Prevent construction
Singleton(const Singleton&); // Prevent construction by copying
Singleton& operator=(const Singleton&); // Prevent assignment
~Singleton(); // Prevent unwanted destruction
};