class T
プログラム全体でインスタンスを 1 つだけ生成できる が必要です。
今私は知ってstd::unique_ptr
いますが、2つの問題があります:
- それはスコープに限定されています(しかし、それは大きな問題ではありません...)
- 明示的に使用する必要があります。つまり、クラスや型の一部ではなく、単なるハンドラーと特別なポインターですが、クラスのデザインを変更するものではありません。
今、私は、ユーザーが同じプログラムで2つのインスタンスを誤って宣言することさえできないように設計したいと考えています。これを設計で解決したいので、ユーザーがforclass T
を宣言するという事実に頼ることはできません。std::unique_ptr
T
今のところunique_ptr
、エレガントな方法で暗黙のうちに使用する方法についてのみ考えています。問題は、現時点では手がかりがないことです。
逆に、このクラスが によって処理されているかどうかをunique_ptr
確認することもできますが、このチェックではパフォーマンスの面で優位性が失われます。
インスタンスを 1 つだけ持つことが非常に重要であるため、私の場合は 2 つのオプションしかありません。
これは些細に見えることはわかっていますが、設計アプローチでは、少なくとも私にとってはそうではないので、助けてください。