Professional Documents
Culture Documents
W2.2 RPZ
W2.2 RPZ
2 Wysota
wtorek, 6 grudnia 2022 18:14
Szablony
Parametry szablonów
Argumentem szablonu nie są tylko typy, ale i wyrażenia
Parametr niebędący typem może być np. liczbą całkowitą,
wskaźnikiem czy wieloma innymi rzeczami których nie
zdążyłem przepisać ale były na slajdzie
Specjalizacje szablonów
- Częściowa - część parametrów szablonowyc
- I jakaś tam
Typy danych:
- Pair
- Tuple
- Kolekcje
○ Vector (nie poleca używać, jeżeli mamy ogromny zbiór
danych jest olbrzymi, bo wrzucanie będzie
kosztowne - a tak to normalnie zazwyczaj jest
najlepszy)
○ deque
○ Map
○ unordered_map
○ Set
○ Unordered_set
○ List
span (C++20)
ZPR Strona 2
Sortowanie przez wstawianie - tak samo - zapisany ładnie i
brzydko
Quicksort
Implementujemy go live na wykładzie :o
Adaptery iteratorów:
- Reverse_iterator
ZPR Strona 3
- Reverse_iterator
- Move_iterator
- Back_insert_iterator
- Front_insert_iterator
- Insert_iterator
Lambda przechwycenia:
- = - wszystko przez wartość
- & - wszystko przez referencję
- nazwa_zmiennej - pojedyncza zmienna przez wartość
Przechwycenia przykład
Lambda - realizacja
Nie ma czasu ale zauważcie że po lewej stronie 4 linie robią
to samo co 12 linijek po prawej, więc lambda pozwala
zaoszczędzić kilka linii kodu
ZPR Strona 4
zaoszczędzić kilka linii kodu
Lambda w C++20
Możemy wyspecyfikować parametry szablonowe dla lambdy
Algorytmy - sprawdzanie
- any_of
- all_of
- none_of
Algorytmy - wyszukiwanie
- find
- find_if
- adjacent_find
- mismatch
- search
Algorytmy - zliczanie
- count
- count_if
ZPR Strona 6