lambda表达式和mutable相关基础内容可以参考一下文章:C++11 Lambda表达式C++ const、volatile和mutable关键字详解首先我们看一个例子:#include<iostream>usingnamespacestd;intmain(){int a = ;staticint b = ;auto f = [=]() mutable {cout << "in lambda f : " << ++a << ", " << ++b << endl;...
除非 lambda 表达式中使用了关键词 mutable,否则函数调用运算符或运算符模板的 cv 限定符都会是 const,并且无法从这个 operator() 的内部修改以复制捕获的对象。 也就是说,对于lambda表达式,编译器会将其翻译成为一个类,该类中的重载operator()成员函数就是lambda函数本体。如果lambda表达式未使用mu