Захват членов класса
От: Шахтер Интернет  
Дата: 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. Парадоксы
Re: Захват членов класса
От: Erop Россия  
Дата: 20.08.13 20:15
Оценка:
Здравствуйте, Шахтер, Вы писали:

Ш>GCC уже сейчас позволяет делать такие вещи


Ш>Если хотите захватывать члены по значению.

Ш>А если по ссылке, то так.

И что тут такого великого?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Захват членов класса
От: zaufi Земля  
Дата: 21.08.13 05:18
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Шахтер, Вы писали:


Ш>>GCC уже сейчас позволяет делать такие вещи


Ш>>Если хотите захватывать члены по значению.

Ш>>А если по ссылке, то так.

E>И что тут такого великого?


под "уже сейчас" имелось ввиду, что это все таки немножко C++1y/C++14

ЗЫ в то время как космисеские корабли пристнопамятный MSVC, все еще С++11 осиливает
Re[3]: Захват членов класса
От: flаt  
Дата: 21.08.13 05:24
Оценка:
Здравствуйте, zaufi, Вы писали:

Z>ЗЫ в то время как космисеские корабли пристнопамятный MSVC, все еще С++11 осиливает

На то он и open source — что хочешь, то и прикручивай
Re[4]: Захват членов класса
От: zaufi Земля  
Дата: 21.08.13 06:04
Оценка: +5
Здравствуйте, flаt, Вы писали:

F>Здравствуйте, zaufi, Вы писали:


Z>>ЗЫ в то время как космисеские корабли пристнопамятный MSVC, все еще С++11 осиливает

F>На то он и open source — что хочешь, то и прикручивай

не то, чтобы меня это как-то волнует, в смысле как там дела у MSVC, просто open source компиляторы, озаботились поддержкой C++0x сильно задолго до выхода финального стандарта, в результате множество открытых (и не очень открытых под *nixы) проектов уже довольно активно использует С++11 (и радуется).

(риторический) вопрос в том, чем там думали в M$... почему так стормозили. результатом этого затупа будет еще более отложенное внедрение С++11 в закрытых проектах под windows -- пока народ созреет, пока обучится новым фичам языка, пока наработается правильная практика их применения --> не менее 2х лет я думаю еще пройдет... мне конечно по барабану, я *nix only, но как-то подсознательно это воспринимается как "очередной" про@# с их стороны.

еще раз повторюсь, я не слежу за ними специально, просто сужу по общему фону "новостей" IT индустрии... кто в теме, у них и вправду все/везде (или по большей части) так плохо?

кстати, по поводу опенсорсности gcc/clang -- они хоть и открытые, но основные коммитеры работают на большие корпорации -- и это нисколько не помешало начать пилить C++0x задолго до финального документа. а теперь они уже пилят C++1y (предположительно C++14)! что не может не радовать разумеется...
Re[2]: Захват членов класса
От: Шахтер Интернет  
Дата: 21.08.13 14:36
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Шахтер, Вы писали:


Ш>>GCC уже сейчас позволяет делать такие вещи


Ш>>Если хотите захватывать члены по значению.

Ш>>А если по ссылке, то так.

E>И что тут такого великого?


Да не великое, просто это решение одной небольшой проблемы.

здесь
Автор: enji
Дата: 25.07.13
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.