C++/Funkcje anonimowe: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
Poprawienie literówki |
Nie podano opisu zmian |
||
Linia 12:
# bloku kodu.
<
[domknięcie](parametry) -> typ zwracany {
kod
}
</syntaxhighlight>
'''Domknięcie''' określa jakie zmienne i w jakim trybie są dostępne bezpośrednio w danej funkcji. W najprostszym przypadku domknięcie może być puste, wówczas funkcja nie ma dostępu do żadnych obiektów zdefiniowanych w zakresie, który ją zawiera. Najprościej można wskazać, że wszystkie obiekty są dostępne przez referencję, pisząc <tt>[&]</tt>; można również wskazać, że wszystkie dostępne są to kopie, <tt>[=]</tt>. Można też wyliczyć tylko te zmienne, które są rzeczywiście potrzebne, np. <tt>[x, y]</tt>. Zmienne domyślnie są dostępne tylko do odczytu, ale jeśli poprzedzimy je znakiem <tt>&</tt> zostaną przekazane przez referencję i będzie można je zmieniać.
Linia 27:
'''Blok kodu''' może zawierać dowolne instrukcje, dostępne są w nim wszystkie obiekty zdefiniowane w domknięciu i na liście parametrów.
<
#include <iostream>
#include <string>
Linia 52:
std::cout << "napis = " << napis << '\n';
}
</syntaxhighlight>
Wynikiem będzie:
Linia 63:
W kolejnym przykładzie '''funkcja anonimowa''' jest przypisywana do zmiennej i wielokrotnie wywoływana w kodzie funkcji.
<
#include <iostream>
Linia 82:
std::cout << "liczba wywołań = " << liczba_wywolan << '\n';
}
</syntaxhighlight>
|