5

const volatileC++ 中什么时候需要对象?

注意:我确实理解需要指向内存位置的指针,const volatile但这些并不要求对象本身是constor volatile
我在询问本身属于某种const volatile类型的对象,例如:

const volatile T obj;

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

4

1 回答 1

2

当您实际需要volatilec++ 时,这种情况很少见。volatile不再对多线程有用。从这个网站上只有三种可移植的 volatile 用途。

Hans Boehm 指出 volatile 只有三种便携式用途。我将在这里总结它们:

  1. 在 setjmp 范围内标记局部变量,以便该变量在 longjmp 后不会回滚。
  2. 被外部代理修改或似乎是由于错误的内存映射造成的内存
  3. 信号处理程序恶作剧

所以基本上你只想将其他功能用于并发编程并为那些罕见的情况保存 volatile

于 2013-08-14T04:35:11.260 回答