【发布时间】:2012-04-20 08:14:51
【问题描述】:
我听说 volatile 是像 const 一样的重载因素。
如果函数被 volatile 参数重载, volatile-version 什么时候调用?
我无法想象调用 volatile-version 的情况。
【问题讨论】:
-
添加了 C++ 标签;如果这不是您所说的语言,请编辑您的问题以提及这一相当重要的事实并适当地重新标记。
-
这和
const类似,如果你有一个volatile限定的对象,那么只能调用volatile函数。 -
一般来说,几乎所有适用于
const限定符的东西也适用于volatile限定符。该标准大多将它们统称为cv-qualifiers。 -
Here 是
volatile成员函数的一个有趣使用(或滥用),用于在编译时检查对象是否以线程安全的方式被访问。基本上,您通过volatile引用访问未锁定对象,通过普通引用访问锁定对象,并且每个操作都有一个volatile重载,它首先获取锁。
标签: c++ overloading volatile