C ++ 20でvolatileが推奨されないのはなぜですか?


17

cppreferenceによると、volatileキーワードのほとんどの使用はC ++ 20では推奨されません。の欠点はvolatile何ですか?そして、使用しない場合の代替ソリューションは何volatileですか?


13
volatileそれらは有用であるため、非推奨ではないいくつかの使用法があります(たとえば、デバイスドライバーなど、指定されたメモリロケーションから直接ロードまたは保存するコードで)。「非推奨の使用法」のかなりの数は、変数アクセスをアトミックにする手段として、あまりにも多くのプログラマーが誤って使用する機能を使用する能力に関連しています。C ++ライブラリは(C ++ 11以降)変数のアトミックアクセスを保証する正しい手段を提供するようになったためvolatile、インテントがアトミックアクセスである場合にプログラマーが誤って使用しないようにするのは理にかなっています。
Peter


@ピーター揮発性の典型的な用途はどれが間違っていますか
curiousguy

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.