Programowanie generyczne, szablony C++
What you'll learn
- Zasady programowania generycznego
- Wykorzystanie szablonów
- Zrozumienie zasad działa biblioteki STL
- Programowanie uogólnione
Requirements
- Podstawy C++
Description
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
Who this course is for:
- Dla osób chcących pogłębić znajomość C++
Instructors
Witaj na moim profilu nauczyciela na Udemy! Mam ponad 40 lat, z wykształcenia jestem mgr inż. ze specjalnością cyberbezpieczeństwo i bazy danych. Obecnie kontynuuję swoją edukację na studiach doktoranckich.
Mój pierwszy kontakt z programowaniem miał miejsce jeszcze w poprzednim wieku. Gdy moi rówieśnicy bawili się na podwórku, ja poznawałem języki programowania. Od tamtej minęło trochę czasu a ja poświęcam się temu co kocham, czyli uczę innych i pomagam im rozwijać swoje umiejętności w dziedzinie IT. Wielu uważa, że jestem dobrym nauczycielem, ale najlepiej przekonasz się o tym sam(a).
Lubię uczyć, ale również sam nieustannie się rozwijam i poznaję nowe technologie. Każdego dnia spędzam kilka godzin na zgłębianiu kolejnych zagadnień programistycznych. Jeśli chcesz nauczyć się tematów związanych z informatyką, serdecznie zapraszam do nauki ze mną!
Mentorzy IT to projekt edukacyjny, który skupia doświadczonych oraz lubiących i potrafiących uczyć programistów. Tworzymy ciekawe, angażujące i skuteczne kursy online dla początkujących i bardziej zaawansowanych back-end i front-end developerów. Chcielibyśmy, by nasze kursy pomogły Ci zdobyć umiejętności potrzebne do pracy (na stanowiskach juniorskich w IT) oraz stanowiły dla Ciebie źródło ciągłego rozwoju i poszerzania kompetencji (jeśli już pracujesz i jesteś juniorem lub midem).