#include <iostream>
struct F { F(int &var) : var(var) {} void operator()() const { std::cout << "i = " << var << std::endl; } int var; }; struct G { G(int &var) : var(var) {} void operator()() const { std::cout << "i = " << var << std::endl; } int &var; }; int main() { int i = 5; F f(i); /* auto f = [=]() { std::cout << "i = " << i << std::endl; }; */ G g(i); /* auto g = [&]() { std::cout << "i = " << i << std::endl; }; */ i = 6; f(); g(); } |