【发布时间】:2013-08-14 04:28:35
【问题描述】:
什么时候在 C++ 中需要 const volatile 对象?
注意: 我确实理解需要 指针 指向 const volatile 内存位置,但这些并不要求对象本身是 const 或 @987654325 @.
我询问的是某些const volatile 类型的自身 对象,例如:
const volatile T obj;
这些在哪些情况下是必要的或有用的?
【问题讨论】:
-
@IgorTandetnik:这些不会映射到内存地址吗?也就是说,您不需要构造指向
const volatile类型对象的指针,而不是自己创建const volatile对象吗? -
您可以告诉链接器您希望将某些变量放在哪里。当您使用一些特殊的编译器时,它们允许直接将地址注释到变量中,从而无需使用指针来引入对
const volatile对象的需求。 -
@aaronman:是的,但 C++03 也从未打算让您使用 volatile 进行并发,对吧?
-
@aaronman:不,
volatile从未与线程有任何关系,而且可能永远不会。我不认为 C++11 有什么改变,但如果你能告诉我,我很想知道。