Kurz je navržen pro C++ programátory, kteří se chtějí seznámit s návrhem šablonových funkcí i tříd a s použitím standardních C++ knihoven (STL).
  • CPP_STD
  • Délka 5 dní
  • 50 ITK bodů
  • 7 termínů
  • ČR (20 500 Kč)

    SR (900 €)

  • Mírně pokročilý

Kurz je navržen pro C++ programátory, kteří se chtějí seznámit s návrhem šablonových funkcí i tříd a s použitím standardních C++ knihoven (STL).

»
  • Šablony funkcí a princip STL algoritmů
  • Použití predikátů a funkčních objektů
  • Šablony tříd a princip STL kontejnerů
  • Koncept iterátorů
  • Vkládací a proudové itrátory
  • STL adaptéry
  • Automatická správa dynamicky alokované paměti
  • Znalosti v rozsahu kurzu Programovací jazyk C a C++ - objekty v jazyce C++ (CPP_OOP)

Š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)
Aktuální nabídka
Školicí místo
Jazyk kurzu

Uvedené ceny jsou bez DPH.

Školení na míru

Nenašli jste vhodný termín, nebo chcete školení přizpůsobit specifickým potřebám vašeho týmu? Rádi pro vás připravíme školení na míru.