Lambdy C++

0

Do czego konkretnego przydają się lambdy?
Jeszcze nie udało mi się znaleźć takiego zastosowania, gdzie przyśpieszyłaby prace / zmniejszyła objętość kodu / jakieś cuda zrobiła.

1

Do obfuskowania kodu ;]

0

przydaje się to przy operacji na algorytmach STla do definiowania predykatów. Nie trzeba umieszczać osobno funkcji tylko się piszę wszystko w jednym miejscu.

0

Ja stosuję lambdy tam, gdzie potrzebuję uzyskać jakąś funkcjonalność, ale sama funkcjonalność nie nadaje się zbytnio na osobną metodę. (Grunt żeby taka funkcja była stosunkowo mała). Lubię stosować lambdy w funkcjach z algorithm.

0

Okej, rozumiem :D
Teraz tylko mała prośba, o jakiś prosty przykład.

0
std::string foo = "abcdeasdasd";
const char buzz = 'a';
int result = std::count_if(foo.cbegin(), foo.cend(), [&](const char letter)->bool { return letter == buzz; }); 
0

Okej, dzięki :D

0

Labdy przydają się kiedy chciałbyś wewnątrz funkcji wykonać jakieś zachowanie zdefiniowane później przez użytkownika. Predykaty w sortowaniu to jest jakiśtam przykład takiego zachowania. Innym przykładem może być coś takiego:
Piszesz funkcję trawersującą drzewo katalogów w systemie plików, która przyjmuje dwa argumenty: funkcję zwracającą boolean która mówi o ty czy dany plik nas "initeresuje" oraz funkcję która robi "coś" z plikuiem.

Jeśli funkcje które chcesz tam podać jako argumenty są trywialne to może się okazać że warto użyć tam lambdy.

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