Course Code: cplusplus
Duration: 14 hours
Course Outline:

1. Część pierwsza - C++

a. System typów C++

I. Typy proste

II. Wskaźniki

III. Referencje

IV. “const”

b. Klasy i model pamięci

I. Specjalne funkcje w klasach

II. RAII vs GC

c. Biblioteka standardowa

I. std::string

II. std::vector

III. Std::unique_ptr

d. Idiomy

I. Obsługa błędów poprzez wyjątki

II. Obsługa błędów w stylu funkcyjnym

III. CMake, Catch, dodatkowe narzędzia

e. Model kompilacji i uruchomienia

I. Konfiguracja kompilatora

II. Konfiguracja linkera

III. Precompiled headers

IV. Forward declarations

V. Zarządzanie wieloma targetami i konfiguracjami z jednego projektu

2. Część druga - C++ w zastosowaniach z kodem zarządzanym

a. Możliwe sposoby łączenia - omówienie

I. DLL + P/Invoke

II. Messaging/RPC - ZMQ, SWIG, ProtoBuf, MSMQ etc.

III. Shared memory

IV. CLI, COM, inne historyczne rozwiązania

V. Rozwiązania pluginowe (hot reload etc.)

b. Konfiguracja środowiska do kodu łączonego

I. Multiprojektowy sln

II. Solution configurations

III. Zależności

IV. Debuggowanie “mixed-mode”