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ů
  • 11 termínů
  • Praha (20 500 Kč)

    Brno (20 500 Kč)

    Bratislava (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.