| |
Czas trwania:
3 dni po 8 godzin lekcyjnych
Opis szkolenia:
Szkolenie przeznaczone dla programistów C++ chcących poszerzyć swoje wiadomości dotyczące tworzenia profesjonalnego i niezawodnego kodu. Omawiane są między innymi zagadnienia zaawansowanego zarządzania pamięcią w C++, odporności tworzonego kodu na wyjątki, szablony oraz inteligentne wskaźniki.
Plan szkolenia:
Wskaźniki i referencje - podobieństwa i różnice
Modyfikator const i poprawa jakości kodu
- const i argumenty funkcji
- Metody z modyfikatorem const
- Zwracane wartości jako const
Operatory rzutowania w C++
- Klasyczne operatory rzutowania
- Operatory ograniczone: static_cast, const_cast, dynamic_cast oraz reinterpret_cast
Przestrzenie nazw
- Wykorzystanie przestrzeni nazw
- Aliasy
- Anonimowe przestrzenie nazw
Dynamiczne zarządzanie pamięcią w C++
- Operator new oraz tablicowy operator new[]
- Operator delete oraz tablicowy operator delete[]
- Funkcje operator new i operator delete oraz ich wersje tablicowe
- Przeładowanie globalnych funkcji operator new i operator delete
Obsługa sytuacji wyjątkowych
- Bloki try/catch
- Hierarchia wyjątków biblioteki standardowej
- Poprawne tworzenie własnych klas wyjątków
- Specyfikacja rzucanych wyjątków przez funkcje oraz metody
- Gwarancje odporności kodu na wyjątki (słaba, mocna i gwarancja niezawodności) oraz ich implementacja
- Wyjątki w konstruktorach klasy
- Wyjątki a destruktory
- Wyjątki a wycieki pamięci (memory leaks)
Zapobieganie wyciekom zasobów - technika RAII
- Idiom RAII (Resource Aquisition Is Initialization)
- Inteligentne wskaźniki - wstęp
Programowanie generyczne - szablony
- Wprowadzenie do programowania generycznego
- Szablony funkcji
- Szablony klas
- Tworzenie własnych szablonów funkcji oraz klas
- Specjalizacja szablonów klas
- Parametry szablonów klas
Inteligentne wskaźniki
- std::auto_ptr
- boost::scoped_ptr
- boost::shared_ptr
- boost::weak_ptr
- boost::intrusive_ptr
|