boost::optional
を「リセット」/「設定解除」するにはどうすればよいですか?boost :: optionalを非初期化状態に戻す方法を教えてください。
optional<int> x;
if(x)
{
// We won't hit this since x is uninitialized
}
x = 3;
if(x)
{
// Now we will hit this since x has been initialized
}
// What should I do here to bring x back to uninitialized state?
if(x)
{
// I don't want to hit this
}
なし 'オプション:: clear'または'オプション:: empty'が存在しない理由は私には謎の少しです。 – pmr
おそらく完全に1つである必要はないからです。 –
@ LightnessRacesinOrbit:あなたは精巧にできますか?私は、基本的にオブジェクトの状態のいくつかをリセットしたいオプションのメンバ変数のコンテキストでこれを見ています。おそらくそれを行うためのより良い方法があります。 –