Podstawy C++ – jak je zdobyć?
Ostatnia aktualizacja 28 kwietnia, 2023
Wiele osób, które chce zacząć programować lub przebranżowić się na programistę myśli o tym, jak zdobyć podstawy C++, czyli jak nauczyć się programowania w tym języku. Jest to ciekawe podejście, zważywszy na to, iż jest to jeden z najpopularniejszych języków programowania.
Zobacz: Kurs JavaScript – jakie są możliwości nauki?
Programowanie w C++: podstawy
Programowanie w C++ to pisanie kodu w dowolnym edytorze tekstu bez żadnych formatowań, a najlepiej w Notatniku. Pliki zapisuje się, nadając im rozszerzenie „.cpp”. Aby z takiego programu powstała aplikacja, trzeba go skompilować w kompilatorze.
Środowisko pracy
Aby ułatwić sobie pracę, programiści korzystają ze zintegrowanych środowisk zawierających edytor i kompilator, a także niejednokrotnie inne narzędzia przydatne podczas kodowania, debuggowania i kompilowania. Najpopularniejszymi z nich są Borland C++, Visual C++, Dev-C++, wxDev-C++, Code::Blocks.
Polecamy wykorzystać to ostatnie, gdyż jest darmowe, ma możliwości zbliżone do Visual C++, a dla niektórych ważne może być to, że da się z niego korzystać zarówno w Windows jak i na Linuksie.
Biblioteki C++
Biblioteki C++ to zbiory gotowych do użycia funkcji i klas, które mogą być wykorzystane w programach napisanych w języku C++. Dostarczają one programistom gotowych rozwiązań, które pozwalają na szybsze i łatwiejsze tworzenie aplikacji. W bibliotekach C++ znajdziemy wiele różnych funkcji, takich jak operacje na ciągach znaków, algorytmy sortowania czy obsługa plików. Które biblioteki warto znać?
- STL (Standard Template Library) zawiera wiele przydatnych struktur danych, takich jak wektory, listy, stosy, kolejki i mapy oraz algorytmy (sortowanie, wyszukiwanie, permutacje i wiele innych). Ponadto biblioteka ta zawiera wiele szablonów klas i funkcji, które pozwalają na bardziej efektywną i wygodną pracę z danymi. Dzięki temu programiści korzystający z biblioteki STL mogą szybciej i łatwiej pisać programy, które operują na różnych strukturach danych i algorytmach, bez potrzeby implementowania ich od zera.
- Boost zawiera wiele gotowych narzędzi i komponentów do rozwoju oprogramowania. Można wykorzystać moduły dla programowania sieciowego, wielowątkowego, obsługi plików, parsowania XML i wiele innych. Biblioteka ta jest otwartoźródłowa i dostępna na zasadach licencji Boost Software License, co pozwala na jej swobodne wykorzystanie i modyfikację. Boost jest często używany wraz z biblioteką STL, ponieważ oferuje dodatkowe narzędzia, które rozszerzają funkcjonalność STL.
- Qt to zbiór narzędzi i bibliotek do tworzenia aplikacji graficznych w języku C++. Qt został stworzony przez firmę Trolltech (obecnie The Qt Company) i jest dostępny na wielu platformach. Umożliwia pracę zarówno na systemach Windows, macOS, Linux oraz na platformach mobilnych, takich jak Android i iOS. Qt składa się z wielu modułów, w tym modułu GUI, który zawiera klasy do tworzenia interfejsów użytkownika, modułu sieciowego, który umożliwia programowanie aplikacji klienckich i serwerowych, modułu baz danych, który zapewnia dostęp do baz danych oraz wielu innych.
Język C++ – jak się nauczyć?
Podstawy C++ można zdobyć, studiując książki, których na rynku jest sporo, ale warto poszukać używanych, starszych pozycji na OLX, Allegro, czy w antykwariatach. Równie dobrze nadają się do nauki podstaw jak nowsze pozycje. Do nauki zaawansowanej lepiej jednak sięgać po pozycje nowe, gdyż język się zmienia. Warto też sięgać po pozycje anglojęzyczne, gdyż po pierwsze uczysz się języka oprogramowania, ale tez przyzwyczajasz do opisów i nomenklatury fachowej w języku uniwersalnym, który wykorzystują zespoły programistyczne na całym świecie.
Oczywiście najszybszą metodą jest pozyskiwanie wiedzy z samouczków zamieszczanych na różnych stronach, blogach i forach. Ciekawą opcją są również lekcje zamieszczane na Youtube.
Są także całe kursy, które można wykupić, a warto, bo zniżki często sięgają nawet 86 i więcej procent. Zdarza się, że kursy można w promocji zgarnąć za darmo!
Zanim jednak wydacie pieniądze na książki, kursy internetowe i inne płatne opcje pozwalające na naukę programowania, to wcześniej zasięgnijcie opinii osób już pracujących jako programiści. Oni doradzą co wybrać i na co wydać pieniądze, żeby uzyskać wiedzę, która będzie wystarczająca do rozpoczęcia pracy jako programista.
Wiele osób twierdzi, że wkuwanie teorii powinno iść od razu w parze z praktyką, dlatego zaleca się pisanie i analizowanie programów. Od tych najprostszych przez coraz bardziej złożone.
Przykładowy program w C++
Warto wiedzieć, że w języku C++ rozróżniane są wielkie i małe litery, a polecenia piszemy tylko małymi.
Utarło się, że jednym z pierwszych programów w dowolnym języku jest taki, który wypisuje na ekranie wyrażenie „Hello World!”, czyli „Witaj Świecie”. Ma on symbolizować pierwszą styczność z kodem i zakomunikowanie światu jego działania.
W C++ kod wykonujący takie zadanie może wyglądać następująco:
// Program 01
#include <iostream>
int main() {
std::cout << “Hello, World!”;
return 0;
}
Opis użytych wyrażeń
W powyższym przykładzie w pierwszej linii zamieszczono komentarz zaczynający się //. Nie wpływa on na funkcjonalność programu, ale pozwala lepiej zrozumieć jego działanie. W przyszłości przy bardziej złożonych strukturach można dojść do tego, co robi dana część kodu. Jest to przydatne zarówno dla programisty tworzącego kod, jak i dla innych osób, które z tej pracy będą korzystały w przyszłości. To dobra praktyka, szczególnie w przypadku pracy zespołowej.
Wyrażenie #include jest to dyrektywą preprocesora, która jest używana do dołączania funkcji z plików do naszego programu. Powyższy kod zawiera zawartość pliku iostream. Dzięki niemu możliwe jest wyświetlanie tekstu na ekranie monitora, a ogólnie odpowiada on za operacje wejścia/wyjścia.
Prawidłowy program C++ musi mieć funkcję main(). Nawiasy klamrowe wskazują początek i koniec funkcji. W powyższym przykładzie pomiędzy nimi znajduje się kod programu.
Funkcja std::cout wypisuje zawartość w cudzysłowie, ale musi przed nim wystąpić <<, po którym następuje ciąg formatu. Ciągiem formatu w naszym przykładzie jest “Hello, World!”.
Średnik na końcu oznacza koniec instrukcji i należy o nim bezwzględnie pamiętać, inaczej kod nie skompiluje się prawidłowo.
Polecenie return 0 oznacza zakończenie programu, tzw. „status wyjścia”.
Składnia C++ a deklarowanie zmiennych
Składnia C++ definiuje sposób napisania kodu. Wśród kluczowych elementów składni C++ znajdują się deklaracje zmiennych, typy danych oraz definicje obiektów.
Deklaracje zmiennych są niezbędne, aby zarezerwować miejsce w pamięci komputera dla przechowywania wartości. W C++ deklaracja zmiennej składa się z typu danych, nazwy zmiennej i opcjonalnie wartości początkowej. Na przykład: int liczba = 42;
. Deklaracja ta informuje kompilator, że chcemy zaalokować pamięć dla zmiennej typu całkowitego o nazwie “liczba” i przypisać jej wartość 42.
C++ oferuje różne wbudowane typy danych, takie jak:
- Typy całkowite:
int
,short
,long
ilong long
– reprezentują liczby całkowite o różnych rozmiarach i zakresach wartości. - Typy zmiennoprzecinkowe:
float
idouble
– używane do przechowywania liczb rzeczywistych. Są to typy pozwalające przechowywać wartości z różną precyzją. - Typy logiczne:
bool
– przechowują wartości logicznetrue
lubfalse
. - Typ znakowy:
char
– służy do przechowywania pojedynczych znaków.
Zakresy wartości dla tych typów danych zależą od ich rozmiaru oraz architektury komputera, na którym działa program. Na przykład, int
może przechowywać liczby całkowite od -2^31 do 2^31 – 1 na systemach 32-bitowych. Typy danych mogą być modyfikowane przez słowa kluczowe signed
i unsigned
, które określają, czy typ danych ma obsługiwać wartości ujemne czy nie. Na przykład, unsigned int
może przechowywać tylko liczby nieujemne.
Kompilacja kodu C++
Aby możliwe było wykonanie programu napisanego w danym języku, należy przeprowadzić proces kompilacji. Jest to zamiana, a raczej tłumaczenie linijek kodu na język maszynowy, który może zostać wykonany przez komputer. Jak już wcześniej pisaliśmy, kompilatory są zazwyczaj częścią zintegrowanych środowisk programistycznych.
Proces kompilacji języka C++ według Microsoft składa się zazwyczaj z trzech etapów:
- Preprocessing – przekształcanie wszystkich definicje #directives makra w każdym pliku źródłowym. Powoduje to utworzenie jednostki translacji.
- Kompilacja – kompilacja każdej jednostki translacji do plików obiektów (.obj), stosując niezależnie od ustawionych opcji kompilatora.
- Linkowanie – scalanie plików obiektów w jeden plik wykonywalny, przy zastosowaniu ustawionych opcji łączenia.
Sprawdź: Najpopularniejsze języki programowania oraz IDE
Czytaj także:
Chcemy pracować 4 dni w tygodniu
Wyznacz swoje OKR. To lepsze niż KPI
SQL dla początkujących krok po kroku