Zastosowania dla wyrażeń lambda?

0

Czołem Bracia Programiści

Mam następujące pytanie - do czego użyteczne jest zastosowanie w C++ wyrażeń lambda? Tworzę akurat własny projekt w oparciu o C++11 i staram się wykorzystywać wprowadzone tam nowalijki, jednakże jakoś nie mogę dostrzec ich przydatności, a wprowadzania ich na pałę aby tylko były wolałbym uniknąć.

0

Tu jest opis lambd w C#, ale zakładam, że w C++ idea jest taka sama. Na końcu masz przykład praktyczny. Generalnie lambdy służą do tego żeby czytelniej i zwięźlej zapisywać operacje. Na początku wydaje się to być nieczytelne i trudne, ale po pewnym czasie ciężko sobie wyobrazić bez nich życie.

1
MasterBLB napisał(a):

Czołem Bracia Programiści

Mam następujące pytanie - do czego użyteczne jest zastosowanie w C++ wyrażeń lambda? Tworzę akurat własny projekt w oparciu o C++11 i staram się wykorzystywać wprowadzone tam nowalijki, jednakże jakoś nie mogę dostrzec ich przydatności, a wprowadzania ich na pałę aby tylko były wolałbym uniknąć.

Korzystasz z algorytmów STLowych? Tam czasami podaje się predykaty, które można zastąpić właśnie lambdą.
Generalnie lambdy stosuje się tam, gdzie wygodnie byłoby podać wskaźnik do funkcji, czyli np. callbacki. Jednak w ich przypadku lepiej ograniczyć się do krótkich, bo długa lambda traci na czytelności.

0

Ok, znalazłem pierwsze zastosowanie - może być zamiennikiem dla makra #define

1 użytkowników online, w tym zalogowanych: 0, gości: 1