什么时候const必须是volatile对象?

时间:2013-08-14 04:28:35

标签: c++ const volatile

C ++中何时需要const volatile个对象?

注意:我确实理解指针const volatile内存位置的需要,但那些不要求对象本身为{{1} }或const
我问的是某些volatile类型的本身的对象,例如:

const volatile

在哪些情况下这些必要或有用?

1 个答案:

答案 0 :(得分:1)

在c ++中实际需要volatile的情况很少见。 volatile对多线程不再有用。从this website开始,只有三个便携式使用volatile。

  

Hans Boehm指出,volatile只有三种可移植用途。我在这里总结一下:

  1. 在setjmp范围内标记局部变量,以便变量在longjmp之后不回滚。
  2. 由外部代理修改的内存或似乎是由于内存映射错误而导致的内存
  3. 信号处理程序恶作剧
  4. 所以基本上你想要真正只使用其他功能进行并发编程,并为那些罕见的情况保存volatile