Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Do czego stosować wyrażenia lambda?

Ostatnio zmodyfikowano 2012-01-07 20:55
Autor Wiadomość
jsc
Temat założony przez niniejszego użytkownika
Do czego stosować wyrażenia lambda?
» 2012-01-07 18:21:21
Moje pytanie:
- do czego nadają się najlepiej (sensie dobrych praktyk programowania)?
- czy zacznę je stosować jeśli na większą skalę (powiedzmy aż do przesady) nie natnę się na jakieś pułapki (jej deklaracji nie ma w ogóle nazwy (może się nie znam, ale dla mnie to jest trochę podejrzane))?
P-47508
ison
» 2012-01-07 18:25:16
- do czego nadają się najlepiej (sensie dobrych praktyk programowania)?
przykładowo jeśli chcesz przekazać wskaźnik do jakiejś krótkiej funkcji bez zasyfiania sobie kodu,
C/C++
std::sort( kontener.begin(), kontener.end(), funkcja_porownujaca );
jeśli funkcja porównująca to 1 linijka to wygodniej skorzystać z wyrażenia lambda zamiast tworzyć nową funkcję

- czy zacznę je stosować jeśli na większą skalę (powiedzmy aż do przesady) nie natnę się na jakieś pułapki (jej deklaracji nie ma w ogóle nazwy (może się nie znam, ale dla mnie to jest trochę podejrzane))?
wyrażenia lambda nie zastępują zwykłego deklarowania funkcji, to służy do czegoś innego
P-47509
jsc
Temat założony przez niniejszego użytkownika
» 2012-01-07 18:37:16

std::sort( kontener.begin(), kontener.end(), funkcja_porownujaca );

Wg. mnie w tym konkretnym wypadku równie dobrze funkcja_porownujaca może być funkcją zadeklarowaną w bibliotece functional.
P-47511
DejaVu
» 2012-01-07 18:56:11
W tym przypadku tak, ale tu nie chodzi o to co jest lepsze tylko jak można stosować rożne techniki.

/edit:
» Kurs C++ » Poziom XWyrażenia lambda (C++11) lekcja
P-47512
michalp
» 2012-01-07 20:55:20
Poczytaj o domknięciach (ang. closures).
P-47539
« 1 »
  Strona 1 z 1