私はプラグインをターゲットにしているフレームワークを設計した結果、私は自分のコードの一部をシングルトンとして実装しました。このクラスは、フレームワーク内から通信している外部プログラムへの接続を処理します。参照を返す関数、失敗した場合に返す関数
外部通信を有効にするのは実行時設定ですが、無効になっている場合は、フレームワーク内のモデルからのアクセスを許可したくありません。 ServiceEnabled
がfalse
であることを考えると、私はgetInstance
が有効Communicator
を返すことができるようにしたくない、今
class Communicator {
public:
static Communicator& getInstance() {
static Communicator instance;
return instance;
}
// ...
private:
static bool ServiceEnabled;
// Constructors, operator=, etc ...
}
:私は頻繁にここで推奨されているバージョンを使用して、それを実装しました。しかし、私は参照を返すので、私は単に0などを返すことはできません...適切な行動は何でしょうか? ServiceEnabled
が偽であっても実行を続けることは完全に有効であることに注意してください。
はより良いここにあなたのニーズポインタのスーツを返さないでしょうか? (私は例外をスローすることは、あなたが何をしているのではないと仮定しています) – Mat
'ServiceEnabled'のメンバーはどのオブジェクトがfalseですか? – aschepler
@aschepler:おっと。一定。 – carlpett