Mic*_*urr 23
要回答关于具有"易变成员函数"意味着什么的问题(可能是或者可能不是发布问题的人最初想要的),将成员函数标记为const或volatile(或组合const volatile)应用这些限定符到this函数中使用的指针.如标准所述(9.2.1" this指针"):
在a的成员函数中的类型
class X是X*.如果成员函数声明const,这种类型是const X*,如果成员函数声明volatile,类型的this就是volatile X*,如果成员函数声明const volatile,这种类型是const volatile X*.
因此,通过标记成员函数,volatile您将对该成员函数中的对象的非静态数据成员进行任何访问volatile.
编辑:
当问题是关于volatile关键字时,发布了这个答案.问题似乎已由第三方改变.
原版的:
易失性通知编译器它不应该假设它刚刚放入标记为volatile的变量中的值将在下次使用它时...它必须在再次使用它之前检查当前值.
一个示例是变量表示可能由另一个进程更改的内存位置.
这是一个例子(自从我做C++以来已经很久了,所以请原谅任何次要的语法问题):
volatile int x;
int DoSomething()
{
x = 1;
DoSomeOtherStuff();
return x+1; // Don't just return 2 because we stored a 1 in x.
// Check to get its current value
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8002 次 |
| 最近记录: |