Jest to trzecia część kursu C++. Pierwsza obejmowała podstawy programowania w języku C++, druga omawiała programowanie obiektowe i wszystkie jego cechy charakterystyczne. Ta część jest poświęcona programowaniu generycznemu, czyli opartemu o szablony (programowanie uogólnione). Dzięki takiemu podejściu nie interesują nas typy danych. Tworzymy przepis na program, który powinien działać z różnym typami danych. Dane nam to bardzo dużą elastyczność w pisaniu kodu, powoduje zmniejszenie błędów spowodowanych powtarzaniem podobnego kodu. Możemy poczuć moc, jaka daje nam pisanie uogólnione, jeśli zobaczymy jak łatwo i przyjemnie korzysta się nam z biblioteki STL. Ta biblioteka została właśnie napisana z wykorzystaniem programowania generycznego. Dodatkowo poznasz czym jest metaprogramowanie. Dodatkowo omówię, czym są inteligentne wskaźniki oraz poznasz czym faktycznie są r-wartości, l-wartości oraz referencja r-wartości.
Zanim zaczniemy naukę programowania generycznego, przejdziemy przez rozwiązywanie problemów z kompilatorem C++. Wiele osób w czasie nauki programowania w języku C++ boryka się z problemami z kompilacją programu. Inni z niewłaściwą wersją kompilatora a inni z problemem, skąd pobrać najnowszy kompilator. Te wszystkie problemy postaram rozwiązać się w materiale zatytułowanym — Kompilator.
Poniżej przedstawiam spis lekcji:
Wstęp
Kompilator
Przeciążenie funkcji
Szablon funkcji teoria
szablon funkcji praktyka
Typ zwracany przez funkcję
Przeciążenie szablonu
Prosty szablon klasy
Szablon metody w klasie
Dziedziczenie szablonu
Metaprogramowanie teoria
Metaprogramowanie praktyka
Inteligentne wskaźniki wprowadzenie
Czym jest wskaźnik
Dynamiczne przydzielanie pamięci
Unikalny wskaźnik unique_ptr
Przekazywanie do i z funkcji unique_ptr
Tablice unique_ptr
Wskaźnik współdzielony shared_ptr
Przenoszenie wskaźników shared_ptr
Do czego służy weak_ptr
r-wartość l-wartość referencja r-wartości