nullptr を渡すパラメータに関する C++11 のベスト プラクティスについて疑問に思っていました。nullptr を既存のセッター関数に渡して、クラス メンバー オブジェクトをリセットしたいと考えています。簡単な例:
#include "foo.h"
Foo my_foo;
void set_foo(std::shared_ptr<Foo> bar){
my_foo = bar;
}
int main()
{
set_foo(std::make_shared<Foo>());
//do stuff
set_foo(nullptr);
}
これでいいですか?または、my_foo をリセットするためのより良い、より好ましい方法はありますか? my_foo をリセットするためだけに別のメソッドを作成したくありませんでした。
私が取り組んでいるアプリケーションの本当の動機は、可変数の他のクラスによって共有される永続的なシングルトン クラスがあることです。これらの他のクラスのコーディング目的で、必要な期間だけそのシングルトンへの共有ポインターを所有して使用し、アクセスが許可されなくなったときに破棄/ nullptr に設定すると便利です。私が見逃している、または考えていないことがある場合は、アドバイスをいただければ幸いです。