Kód kurzu: CPP_STD« Krok zpět

Jazyk C++ – Moderní C++, šablony a standardní knihovny

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).

 DatumDnůCena kurzuCena materiálůJazyk výukyLokalita 
12.3.2018 5 18 500 CZK v ceně kurzu Český jazyk GOPAS Praha
 
23.4.2018 5 17 500 CZK v ceně kurzu Český jazyk GOPAS Brno
 
22.1.2018 5 625,00 EUR v ceně kurzu Slovenský jazyk GOPAS Bratislava
 
21.5.2018 5 625,00 EUR v ceně kurzu Slovenský jazyk GOPAS Bratislava
 

PobočkaDnůCena kurzuCena materiálůITB
Praha5 18 500 CZK v ceně kurzu 50
Brno5 17 500 CZK v ceně kurzu 50
Bratislava5 625,00 EUR v ceně kurzu 50

Co Vás naučíme

  • Š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

Požadované vstupní znalosti

  • Znalosti v rozsahu kurzu Programovací jazyk C a C++ - objekty v jazyce C++ (CPP_OOP)

Metody výuky

  • Odborný výklad s praktickými ukázkami, cvičení na počítačích.

Studijní materiály

  • Materiály ke kurzu v elektronické podobě.

Osnova kurzu

Š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)
Elektronické prezentace probírané látky

Cena:
v ceně kurzu
Uvedené ceny jsou bez DPH.


Graf návazností kurzů