C++ volatile和mutable
volatile:
-
功能:即使程序不修改内存单元,值也会发生变化(硬件或其他程序修改)
-
作用:改善编译器的优化能力(编译器默认将常用·假设值不变的变量加入寄存器,使用 volatile 后将不优化)
mutable:
指出即使结构或类变量为 const ,其某个成员也可以被修改
struct data
{
char name[20];
mutable int accesses;
...
};
const data veep{"Claybourne Clodde",0,...};
strcpy(veep.name, "Joye Joux"); //not allowed
veep.accesses++; //allowed
浙公网安备 33010602011771号