一度だけ構築できるクラスを作成することは可能ですか? その別のインスタンスを作成しようとすると、コンパイル時エラーが発生するはずです。
質問する
8107 次
3 に答える
6
インスタンス化は、実行時に動的に行われます。コンパイル エラーはコンパイル時に発生します。したがって、答えはノーです。2 回目のインスタンス化でコンパイル エラーが発生することはありません。
ただし、シングルトンを使用することはできますが、それが本当に必要かどうかを慎重に検討してください。
于 2012-04-28T08:36:34.450 に答える
1
インスタンスが 1 つしかないクラスは、シングルトン クラスと呼ばれます。
それを実行するには多くの方法があります。最も単純なものを以下に示します
class MySingleton
{
public:
static MySingleton& Instance()
{
static MySingleton singleton;
return singleton;
}
// Other non-static member functions
private:
MySingleton() {}; // Private constructor
MySingleton(const MySingleton&); // Prevent copy-construction
MySingleton& operator=(const MySingleton&); // Prevent assignment
};
于 2012-04-28T08:36:07.420 に答える
0
なぜコンパイルエラー?Singleton デザイン パターンを実装するだけでよいと思います。ここを見て
于 2012-04-28T08:35:09.623 に答える