软件开发工程师修炼中|
📂C/C++
🔖cpp
2022-08-09 22:22阅读: 36评论: 0推荐: 0

【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 中国大陆许可协议进行许可。

posted @   无涯清酒  阅读(36)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起