【C++-笔记】mutable关键字
mutable关键字
在学习C++的时候,第二次看见提到mutable的用法的时候就想着记录一下,加深印象
在类中使用的mutable
在类对象当中,存在一类函数,会在函数声明后面加上const,这个const的含义就是将隐式的this指针定为常量,即函数不可以更改数据成员的值,但是我们如果希望有些值是可以改变的,就可以使用关键字mutable将该数据成员设置为可以改变的:
class test{
public:
int PlusNum() const;
private:
mutable int num = 0; //可以在const函数中被修改
int num2; // 不可以在const函数中被修改
}
int test::Plusnum() const
{
return ++num; // 正确,因为使用了mutable关键字
}
在lambda表达式的捕获列表中使用mutable
在lambda通过值捕获的变量,lambda通常不会改变其值,如果想要改变值捕获变量的值,可以使用mutable关键字,形式如下:
int v = 0;
auto f = [v]() mutable {return ++v;}; //可以通过f改变v的值
本文作者:无涯清酒
本文链接:https://www.cnblogs.com/wuyawine/p/16569748.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步