Šablony funkcí
- Princip generického programování
- Klíčové slovo templáře
- Rozvinutí šablony, implicitní a explicitní určení parametrů šablony
- Specializace šablony (vyjímky ze šablony)
- Návrh parametrů šablony
- Základní algoritmy copy, accumulate, find, count, min_element, replace,
- reverse
Volatelné entity jazyka C++
- Přetížení operátoru ( ) - kulaté závorky
- Návrh a použití funkčních objektů a predikátů
- Modifikace a přizpůsobování základních algoritmů for_each, transform,
- find_if, count_if, replace_if, min_element, accumulate.
Šablony tříd
- Návrh generického kontejneru
- Základní operace s kontejnery
- Koncept iterátoru a použití kontejnerů v algoritmech
Speciální iterátory
- Návrh vkládacího iterátoru
- Použití funkcí back_inserter, front_inserter, inserter
- Proudové iterátory input_stream_iterator, output_stream_iterator
Základní STL kontejnery
- Kontejner vector, jeho struktura a rozhraní
- Alokační strategie vektoru a invalidování iterátorů
- Generování prvků, algoritmus generace
- Zpětné iterátory
- Kontejnery deque, list a jejich speciální vlastnosti
- Třídění vektoru a seznamu, duplikování STL algoritmu členskou metodou
- kontejneru
- Odstranění prvků z pole, vektoru či seznamu pomocí remove
STL řetězce
- Třída basic_string, string a wstring
- Elementární řetězcové operace
- Neformátované čtení řetězců z proudu getline
- Řetězcové proudy v hlavičce
Asociativní kontejnery
- Kontejnery set, multiset
- Určování třídícího kriteria
- Algoritmy find, count, lower_bound, upper_bound
- Množinové operace set_union, set_intersection, set_difference,
- set_symmetric_difference
- Kontejnery map, multimap a jejich použití
- Operátor [] u kontejneru map
- Pomocná třída pair
Tajemství hlavičkového souboru
- Předdefinované funkční objekty less, greater, equal_to, plus, minus,
- multiply…
- Vázání parametrů bind1st, bind2nd
- Adaptéry členských funkcí mem_fun, mem_fun_ref
- Adaptér pro normální funkce ptr_fun
Automatická správa zdrojů / paměti
- Návrhový vzor smart pointer
- Návrh, správné a nesprávné použití třídy auto_ptr
- Novinky TR1: shared_ptr (bind, mem_fn)