当前位置: 代码迷 >> 综合 >> 35.Mutable
  详细解决方案

35.Mutable

热度:35   发布时间:2023-11-16 23:27:44.0
  • 一种用法是上次const中讲过并演示的:在类中const修饰的member function,可以修改被mutable修饰的本不能修改的变量(比如修改打印次数功能)
  • 一种lambdas(一次性的小函数)
#include <iostream>int main()
{int x = 8;auto f = [=]() mutable//这里方括号内可以填 & 符号(代表传入x的引用,然后会修改x指向地址的x的值)// 也能填 = 符号(但是要加上mutable 关键字,代表传入的是x变量,但是不会修改x的地址指向的值,只会复制一份x然后函数内处理)。{x++;std::cout << "In the lambdas , x:" << x << std::endl;};f();std::cout << "In the main(), x:" <<x << std::endl;std::cin.get();
}

输出结果为:

In the lambdas , x:9
In the main(), x:8