Zaawansowane CPP/Ćwiczenia 12: Używanie funktorów: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{{cwiczenie|1|| | |||
Napisz algorytm <code><nowiki>for_each</nowiki></code> który działałby na dwu zakresach. | Napisz algorytm <code><nowiki>for_each</nowiki></code> który działałby na dwu zakresach. | ||
Linia 17: | Linia 18: | ||
op(*(first1+1),*(first2+1); | op(*(first1+1),*(first2+1); | ||
...</nowiki> | ...</nowiki> | ||
}} | |||
{{cwiczenie|2|| | |||
Zaimplementuj opisany na wykładzie adapter który | |||
opakowywuje funkcję lub funktor, ignorując zwracaną przez nie wartość | opakowywuje funkcję lub funktor, ignorując zwracaną przez nie wartość | ||
i zwracający zamiast jakąś wartość wybranego typu. Napisać wersje dla | i zwracający zamiast jakąś wartość wybranego typu. Napisać wersje dla | ||
funkcji jedno i dwu argumentowych. Do niego napisz iterator, który | funkcji jedno i dwu argumentowych. Do niego napisz iterator, który | ||
nic nie robi, ignorując przypisywane do niego elementy. | nic nie robi, ignorując przypisywane do niego elementy. | ||
}} | |||
{{cwiczenie|3|| | |||
Zaimplementuj opisany w wykładzie iterator, który działa podaną funkcja na | Zaimplementuj opisany w wykładzie iterator, który działa podaną funkcja na | ||
przypisywane obiekty. | przypisywane obiekty. | ||
}} |
Wersja z 19:12, 10 wrz 2006
Ćwiczenie 1
Napisz algorytm for_each
który działałby na dwu zakresach.
template<typename InputIterator1, typename InputIterator2, typename BinaryFunction op> BinaryFunction for_each(InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryFunction op);
Algorytm ma działać tak jak standardowy for_each
, tyle że funkcja
op
ma być stosowana do par elementów:
op(*first1,*first2); op(*(first1+1),*(first2+1); ...
Ćwiczenie 2
Zaimplementuj opisany na wykładzie adapter który opakowywuje funkcję lub funktor, ignorując zwracaną przez nie wartość i zwracający zamiast jakąś wartość wybranego typu. Napisać wersje dla funkcji jedno i dwu argumentowych. Do niego napisz iterator, który nic nie robi, ignorując przypisywane do niego elementy.
Ćwiczenie 3
Zaimplementuj opisany w wykładzie iterator, który działa podaną funkcja na przypisywane obiekty.