Захват членов класса
От: Шахтер Интернет  
Дата: 20.08.13 20:11
Оценка:
GCC уже сейчас позволяет делать такие вещи


struct Test
 {
  int x;

  void method()
   {
    auto lambda = [x=x] () { Printf(Con,"#;\n",(uptr)&x); } ; 

    lambda();

    Printf(Con,"#;\n",(uptr)&lambda);
   }
 };

int main()
 {
  Test test{12345};

  test.method();

  Printf(Con,"#;\n",(uptr)&test);

  return 0;
 }


Если хотите захватывать члены по значению.
А если по ссылке, то так.


    auto lambda = [&x=x] () { Printf(Con,"#;\n",(uptr)&x); } ; 
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.