Tematyka

    • Autor modułu: Paweł Wnuk (pawel.wnuk@pw.edu.pl)

      Przekazuję Państwu podręcznik do Zaawansowanego C++. Pisząc te materiały zakładałem, że jesteście już po pierwszym kursie programowania, że nieobce są Wam pojęcia zmiennych, pętli, procedur, klas, dziedziczenia, itp ... - choć niekoniecznie musicie to znać w standardzie C++, albo też - Wasza znajomość C++ jeszcze nie jest pełna. 

      Celem materiałów jest ilustracja programowania właśnie w C++. Posiłkując się słowami twórcy języka: czyli Bijarne Stroumtroupa:

      „... Pisanie dobrych programów wymaga inteligencji, smaku i cierpliwości . . . ”

      Programowanie w C++ do najłatwiejszych nie należy - ale efekt końcowy - program - może należeć do tych najszybszych. By tak było - musicie znać specyfikę języka. Zaczniemy od omówienia typów danych, powiązań ze sprzętem, przypomnienia i rozszerzenia informacji o funkcjach. W drugiej części przedstawię Wam wprowadzenie do programowania obiektowego przy wykorzystaniu składni C++. Następnie pojawi się opis  tworzenia szablonów w języku C++, oraz ich podstawowe zastosowanie -  biblioteki STL i BOOST. Potem przejdziemy do elementów inżynierii oprogramowania – pewnie słyszeliście już o wzorcach projektowych – w ramach tego podręcznika dowiecie się, jak implementować wybrane z nich w języku C++. Pokażę Wam także, w jaki sposób można dynamicznie ładować fragmenty kodu w trakcie działania programu, co w rezultacie prowadzi do uzyskania mechanizmu powszechnie znanego jako wtyczki.

      Materiały mogą dla części z Was być o tyle ciekawe - że ich autorem nie jest informatyk z wykształcenia. Jestem pracownikiem Instytutu Automatyki i Robotyki Politechniki Warszawskiej, a język programowania i samo programowanie - są dla mnie narzędziem do tworzenia oprogramowania do pracy w przemyśle, i jako takie postaram się Wam go opisać. 



    • Test wprowadzający pozwoli Wam sprawdzić, czy zapamiętaliście ze swojej wcześniejszej edukacji podstawowe elementy składni języka C++. 

    • Wersja podręcznika: 1.0
      Data publikacji: 01.01.2022 r.


    • Z  zamieszczonego modułu poświęconego podstawowej składni w języku C++ powinniście zapamiętać przede wszystkim fundamentalne zasady budowy programu: jak deklarować zmienne, jakie typy danych oferuje język oraz jak działają instrukcje sterujące, pętle i funkcje. Kluczowe jest zrozumienie różnicy między typami prostymi, złożonymi oraz pochodnymi — zwłaszcza wskaźnikami i referencjami, które stanowią podstawę bardziej zaawansowanych operacji. Warto również znać zasięg i czas życia zmiennych, ponieważ mają one bezpośredni wpływ na bezpieczeństwo i poprawność działania programu. Nie bez znaczenia pozostają także różne sposoby rzutowania typów – zarówno w stylu C, jak i C++, które umożliwiają świadome i kontrolowane przekształcenia danych.

      Dobrze opanowany materiał obejmuje także umiejętność efektywnego wykorzystania funkcji, w tym ich deklaracji, przeciążania, przekazywania argumentów oraz tworzenia funkcji anonimowych (lambda). Należy znać i rozumieć konwencje wywołań funkcji oraz potrafić posługiwać się wskaźnikami do funkcji, co pozwala budować bardziej elastyczne i generyczne rozwiązania. Świadomość priorytetów operatorów, poprawna składnia struktur danych takich jak tablice, napisy, struktury i unie – wszystko to stanowi bazę do dalszego zgłębiania języka C++ i przygotowuje grunt pod bardziej zaawansowane podejścia, w tym programowanie obiektowe.