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

  

原文链接: https://www.cnblogs.com/suui90/p/12868158.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++ volatile和mutable

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/347819

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午4:43
下一篇 2023年3月2日 上午4:43

相关推荐