Zastosowania dla wyrażeń lambda?

Zastosowania dla wyrażeń lambda?
MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
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ąć.

Progress
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 220
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.

GS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1265
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.

MasterBLB
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 1454
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.