Content #
int id = 0;
auto f = [id] () mutable {
std::cout << "id: " << id << std::endl;
++id;
};
id = 42;
f();
f();
f();
std::cout << id << std::endl;
程序输出: id: 0 id: 1 id: 2 42
改写成重载操作符():
class {
private:
int id;
public:
void operator() () {
std::cout << "id: " << id << std::endl;
++id;
}
};