{"id":1054,"date":"2021-09-17T15:34:00","date_gmt":"2021-09-17T13:34:00","guid":{"rendered":"https:\/\/trzykody.pl\/?page_id=1054"},"modified":"2026-02-19T23:18:30","modified_gmt":"2026-02-19T22:18:30","slug":"c-2","status":"publish","type":"page","link":"https:\/\/trzykody.pl\/index.php\/c-2\/","title":{"rendered":"C++"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>C++ to j\u0119zyk programowania og\u00f3lnego przeznaczenia, kt\u00f3ry powsta\u0142 jako rozszerzenie j\u0119zyka C, wzbogacaj\u0105c go o mechanizmy programowania obiektowego i siln\u0105 statyczn\u0105 kontrol\u0119 typ\u00f3w. Jego g\u0142\u00f3wnym celem by\u0142o zachowanie zgodno\u015bci z C, przy jednoczesnym wprowadzeniu abstrakcji danych, klas, szablon\u00f3w i nowoczesnych struktur bibliotecznych. Dzi\u0119ki temu C++ jest wykorzystywany zar\u00f3wno do programowania systemowego, jak i aplikacji wysokopoziomowych, od gier po oprogramowanie finansowe.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W dalszej cz\u0119\u015bci skupimy si\u0119 na najwa\u017cniejszych elementach C++, jego sk\u0142adni, mechanizmach dzia\u0142ania oraz przyk\u0142adach w C, C++ i Pythonie tam, gdzie to sensowne.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Spis tre\u015bci<\/h2><nav><ol><li class=\"\"><a href=\"#podstawowe-typy-danych-i-struktury-w-c-oraz-ich-wykorzystanie-w-praktyce-przy-tworzeniu-algorytmow\">Podstawowe typy danych i struktury w C++ oraz ich wykorzystanie w praktyce przy tworzeniu algorytm\u00f3w<\/a><ol><li class=\"\"><a href=\"#typy-proste\">Typy proste<\/a><\/li><li class=\"\"><a href=\"#tablice-i-wskazniki\">Tablice i wska\u017aniki<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#mechanizmy-programowania-obiektowego-w-c-z-przykladami-klas-dziedziczenia-i-enkapsulacji\">Mechanizmy programowania obiektowego w C++ z przyk\u0142adami klas, dziedziczenia i enkapsulacji<\/a><ol><li class=\"\"><a href=\"#klasy-i-obiekty\">Klasy i obiekty<\/a><\/li><li class=\"\"><a href=\"#dziedziczenie-i-polimorfizm\">Dziedziczenie i polimorfizm<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#szablony-funkcji-i-klas-w-c-jako-uniwersalne-narzedzie-do-tworzenia-algorytmow-dla-wielu-typow-danych\">Szablony funkcji i klas w C++ jako uniwersalne narz\u0119dzie do tworzenia algorytm\u00f3w dla wielu typ\u00f3w danych<\/a><ol><li class=\"\"><a href=\"#szablon-funkcji\">Szablon funkcji<\/a><\/li><li class=\"\"><a href=\"#szablon-klasy\">Szablon klasy<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#standardowa-biblioteka-szablonow-stl-w-c-z-przykladami-uzycia-wektorow-list-map-i-algorytmow-sortowania\">Standardowa biblioteka szablon\u00f3w (STL) w C++ z przyk\u0142adami u\u017cycia wektor\u00f3w, list, map i algorytm\u00f3w sortowania<\/a><ol><li class=\"\"><a href=\"#przyklad-uzycia-wektora-i-sortowania\">Przyk\u0142ad u\u017cycia wektora i sortowania<\/a><\/li><li class=\"\"><a href=\"#mapy-i-wyszukiwanie\">Mapy i wyszukiwanie<\/a><\/li><\/ol><\/li><li class=\"\"><a href=\"#najczestsze-pulapki-i-bledy-w-c-podczas-nauki-wskaznikow-zarzadzania-pamiecia-i-uzycia-operatorow\">Najcz\u0119stsze pu\u0142apki i b\u0142\u0119dy w C++ podczas nauki wska\u017anik\u00f3w, zarz\u0105dzania pami\u0119ci\u0105 i u\u017cycia operator\u00f3w<\/a><\/li><\/ol><\/nav><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"podstawowe-typy-danych-i-struktury-w-c-oraz-ich-wykorzystanie-w-praktyce-przy-tworzeniu-algorytmow\">Podstawowe typy danych i struktury w C++ oraz ich wykorzystanie w praktyce przy tworzeniu algorytm\u00f3w<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">W <strong>C++<\/strong> typy danych s\u0105 fundamentem ka\u017cdej operacji. Silna kontrola typ\u00f3w pozwala kompilatorowi wychwyci\u0107 b\u0142\u0119dy ju\u017c na etapie kompilacji, co jest szczeg\u00f3lnie istotne przy du\u017cych projektach.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"typy-proste\">Typy proste<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>int<\/strong> &#8211; liczby ca\u0142kowite, najcz\u0119\u015bciej 4 bajty, zakres zale\u017cny od platformy.<\/li>\n\n\n\n<li><strong>float, double<\/strong> &#8211; liczby zmiennoprzecinkowe pojedynczej i podw\u00f3jnej precyzji.<\/li>\n\n\n\n<li><strong>char<\/strong> &#8211; pojedynczy znak, zwykle 1 bajt.<\/li>\n\n\n\n<li><strong>bool<\/strong> &#8211; warto\u015b\u0107 logiczna true\/false.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad deklaracji i u\u017cycia:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;iostream&gt;<br>using namespace std;int main() {<br>    int a = 10;<br>    double b = 3.14;<br>    char c = 'x';<br>    bool flag = true;    cout &lt;&lt; \"a: \" &lt;&lt; a &lt;&lt; \", b: \" &lt;&lt; b &lt;&lt; \", c: \" &lt;&lt; c &lt;&lt; \", flag: \" &lt;&lt; flag &lt;&lt; endl;<br>    return 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"tablice-i-wskazniki\">Tablice i wska\u017aniki<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tablice to sekwencje element\u00f3w tego samego typu, wska\u017aniki pozwalaj\u0105 manipulowa\u0107 adresami pami\u0119ci.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">int arr[5] = {1,2,3,4,5};<br>int *ptr = arr;  \/\/ wska\u017anik na pierwszy element tablicy<br>cout &lt;&lt; \"Drugi element tablicy: \" &lt;&lt; *(ptr+1) &lt;&lt; endl;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">W Pythonie odpowiednikiem tablicy s\u0105 listy, ale brak wska\u017anik\u00f3w wymusza inny model pracy z pami\u0119ci\u0105:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">arr = [1,2,3,4,5]<br>print(\"Drugi element listy:\", arr[1])<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Uwagi praktyczne: cz\u0119sto pocz\u0105tkuj\u0105cy myl\u0105 wska\u017aniki z referencjami, nie pami\u0119taj\u0105c, \u017ce wska\u017aniki mog\u0105 by\u0107 <code>nullptr<\/code> i wymagaj\u0105 ostro\u017cnego u\u017cycia przy arytmetyce wska\u017anik\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mechanizmy-programowania-obiektowego-w-c-z-przykladami-klas-dziedziczenia-i-enkapsulacji\">Mechanizmy programowania obiektowego w C++ z przyk\u0142adami klas, dziedziczenia i enkapsulacji<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">C++ wprowadza klasy jako podstaw\u0119 abstrakcji danych. Klasy pozwalaj\u0105 \u0142\u0105czy\u0107 dane i funkcje w jednym obiekcie, a mechanizmy enkapsulacji, dziedziczenia i polimorfizmu umo\u017cliwiaj\u0105 budowanie z\u0142o\u017conych system\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"klasy-i-obiekty\">Klasy i obiekty<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;iostream&gt;<br>using namespace std;class Punkt {<br>public:<br>    int x, y;<br>    void ustaw(int a, int b) {<br>        x = a;<br>        y = b;<br>    }<br>    void wyswietl() {<br>        cout &lt;&lt; \"(\" &lt;&lt; x &lt;&lt; \",\" &lt;&lt; y &lt;&lt; \")\" &lt;&lt; endl;<br>    }<br>};int main() {<br>    Punkt p;<br>    p.ustaw(2,3);<br>    p.wyswietl();<br>    return 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"dziedziczenie-i-polimorfizm\">Dziedziczenie i polimorfizm<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dziedziczenie pozwala tworzy\u0107 klasy pochodne z klas bazowych, odziedziczaj\u0105c pola i metody:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">class Punkt3D : public Punkt {<br>public:<br>    int z;<br>    void ustaw3D(int a,int b,int c) {<br>        x = a; y = b; z = c;<br>    }<br>    void wyswietl3D() {<br>        cout &lt;&lt; \"(\" &lt;&lt; x &lt;&lt; \",\" &lt;&lt; y &lt;&lt; \",\" &lt;&lt; z &lt;&lt; \")\" &lt;&lt; endl;<br>    }<br>};<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Praktyczna uwaga: w C++ konieczne jest jawne okre\u015blenie widoczno\u015bci (<code>public<\/code>, <code>protected<\/code>, <code>private<\/code>), w przeciwnym razie mechanizmy dziedziczenia mog\u0105 zachowywa\u0107 si\u0119 inaczej ni\u017c oczekiwano.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"szablony-funkcji-i-klas-w-c-jako-uniwersalne-narzedzie-do-tworzenia-algorytmow-dla-wielu-typow-danych\">Szablony funkcji i klas w C++ jako uniwersalne narz\u0119dzie do tworzenia algorytm\u00f3w dla wielu typ\u00f3w danych<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Szablony pozwalaj\u0105 pisa\u0107 funkcje i klasy, kt\u00f3re dzia\u0142aj\u0105 dla r\u00f3\u017cnych typ\u00f3w danych bez powielania kodu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"szablon-funkcji\">Szablon funkcji<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;iostream&gt;<br>using namespace std;template &lt;typename T&gt;<br>T maksimum(T a, T b) {<br>    return (a &gt; b) ? a : b;<br>}int main() {<br>    cout &lt;&lt; maksimum(5,10) &lt;&lt; endl;   \/\/ int<br>    cout &lt;&lt; maksimum(3.14,2.72) &lt;&lt; endl; \/\/ double<br>    return 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"szablon-klasy\">Szablon klasy<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">template &lt;typename T&gt;<br>class Kolejka {<br>    T tab[10];<br>    int indeks;<br>public:<br>    Kolejka() { indeks=0; }<br>    void dodaj(T element) { tab[indeks++] = element; }<br>    T pobierz(int i) { return tab[i]; }<br>};<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Uwagi praktyczne: u\u017cycie szablon\u00f3w zwi\u0119ksza elastyczno\u015b\u0107, ale nadmierne szablony mog\u0105 prowadzi\u0107 do d\u0142ugiego czasu kompilacji i trudnych do zrozumienia komunikat\u00f3w b\u0142\u0119d\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"standardowa-biblioteka-szablonow-stl-w-c-z-przykladami-uzycia-wektorow-list-map-i-algorytmow-sortowania\">Standardowa biblioteka szablon\u00f3w (STL) w C++ z przyk\u0142adami u\u017cycia wektor\u00f3w, list, map i algorytm\u00f3w sortowania<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">STL to zestaw gotowych klas i algorytm\u00f3w, kt\u00f3re przyspieszaj\u0105 tworzenie oprogramowania. Sk\u0142ada si\u0119 z kontener\u00f3w (wektory, listy, mapy), iterator\u00f3w i gotowych algorytm\u00f3w (sortowanie, wyszukiwanie).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"przyklad-uzycia-wektora-i-sortowania\">Przyk\u0142ad u\u017cycia wektora i sortowania<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;iostream&gt;<br>#include &lt;vector&gt;<br>#include &lt;algorithm&gt;<br>using namespace std;int main() {<br>    vector&lt;int&gt; v = {5,2,9,1};<br>    sort(v.begin(), v.end());<br>    for(int x:v) cout &lt;&lt; x &lt;&lt; \" \";<br>    cout &lt;&lt; endl;<br>    return 0;<br>}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mapy-i-wyszukiwanie\">Mapy i wyszukiwanie<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;map&gt;<br>#include &lt;string&gt;<br>#include &lt;iostream&gt;<br>using namespace std;int main() {<br>    map&lt;string,int&gt; wiek;<br>    wiek[\"Anna\"] = 25;<br>    wiek[\"Jan\"] = 30;<br>    cout &lt;&lt; \"Wiek Anny: \" &lt;&lt; wiek[\"Anna\"] &lt;&lt; endl;<br>    return 0;<br>}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Praktyczna uwaga: iteratory STL powinny by\u0107 u\u017cywane zgodnie z typem kontenera. Pr\u00f3ba u\u017cycia iteratora do tablicy w stylu STL bez konwersji zako\u0144czy si\u0119 b\u0142\u0119dem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"najczestsze-pulapki-i-bledy-w-c-podczas-nauki-wskaznikow-zarzadzania-pamiecia-i-uzycia-operatorow\">Najcz\u0119stsze pu\u0142apki i b\u0142\u0119dy w C++ podczas nauki wska\u017anik\u00f3w, zarz\u0105dzania pami\u0119ci\u0105 i u\u017cycia operator\u00f3w<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Nieprawid\u0142owe u\u017cycie wska\u017anik\u00f3w<\/strong> &#8211; dereferencja <code>nullptr<\/code> prowadzi do crashy.<\/li>\n\n\n\n<li><strong>Wycieki pami\u0119ci<\/strong> &#8211; brak <code>delete<\/code> po <code>new<\/code> lub niepoprawne kopiowanie wska\u017anik\u00f3w.<\/li>\n\n\n\n<li><strong>Zmienna lokalna i referencja<\/strong> &#8211; zwracanie wska\u017anika do zmiennej lokalnej powoduje niezdefiniowane zachowanie.<\/li>\n\n\n\n<li><strong>Nadmierne u\u017cycie <code>using namespace std;<\/code><\/strong> &#8211; mo\u017ce prowadzi\u0107 do konflikt\u00f3w nazw.<\/li>\n\n\n\n<li><strong>Brak jawnego konstruktora i destruktora<\/strong> w klasach zarz\u0105dzaj\u0105cych zasobami &#8211; szczeg\u00f3lnie przy alokacji dynamicznej.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">C++ pozostaje jednym z najbardziej rozbudowanych i wszechstronnych j\u0119zyk\u00f3w programowania, pozwalaj\u0105cym na tworzenie zar\u00f3wno niskopoziomowego kodu systemowego, jak i skomplikowanych aplikacji obiektowych i algorytmicznych. Jego struktura, typy danych, mechanizmy obiektowe, szablony i biblioteki standardowe czyni\u0105 go j\u0119zykiem, kt\u00f3rego zrozumienie wymaga praktyki, analizy i \u015bwiadomo\u015bci najcz\u0119stszych b\u0142\u0119d\u00f3w, ale oferuje ogromn\u0105 moc i kontrol\u0119 nad kodem \u017ar\u00f3d\u0142owym.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C++ to j\u0119zyk programowania og\u00f3lnego przeznaczenia, kt\u00f3ry powsta\u0142 jako rozszerzenie j\u0119zyka C, wzbogacaj\u0105c go o mechanizmy programowania obiektowego i siln\u0105 statyczn\u0105 kontrol\u0119 typ\u00f3w. Jego g\u0142\u00f3wnym celem by\u0142o zachowanie zgodno\u015bci z C, przy jednoczesnym wprowadzeniu abstrakcji danych, klas, szablon\u00f3w i nowoczesnych struktur bibliotecznych. Dzi\u0119ki temu C++ jest wykorzystywany zar\u00f3wno do programowania systemowego, jak i aplikacji wysokopoziomowych, od gier po oprogramowanie finansowe. W dalszej cz\u0119\u015bci skupimy si\u0119 na najwa\u017cniejszych elementach C++, jego sk\u0142adni, mechanizmach dzia\u0142ania oraz przyk\u0142adach w C, C++ i Pythonie tam, gdzie to sensowne. Podstawowe typy danych i struktury w C++ oraz ich wykorzystanie w praktyce przy tworzeniu algorytm\u00f3w W C++ typy danych s\u0105 fundamentem ka\u017cdej operacji. Silna kontrola typ\u00f3w pozwala kompilatorowi wychwyci\u0107 b\u0142\u0119dy ju\u017c na etapie kompilacji, co jest szczeg\u00f3lnie istotne przy du\u017cych projektach. Typy proste Przyk\u0142ad deklaracji i u\u017cycia: #include &lt;iostream&gt;using namespace std;int main() { int a = 10; double b = 3.14; char c = 'x&#8217;; bool flag = true; cout &lt;&lt; &#8222;a: &#8221; &lt;&lt; a &lt;&lt; &#8222;, b: &#8221; &lt;&lt; b &lt;&lt; &#8222;, c: &#8221; &lt;&lt; c &lt;&lt; &#8222;, flag: &#8221; &lt;&lt; flag &lt;&lt; endl; return 0;} Tablice i wska\u017aniki Tablice to sekwencje element\u00f3w tego samego typu, wska\u017aniki pozwalaj\u0105 manipulowa\u0107 adresami pami\u0119ci. int arr[5] = {1,2,3,4,5};int *ptr = arr; \/\/ wska\u017anik na pierwszy element tablicycout &lt;&lt; &#8222;Drugi element tablicy: &#8221; &lt;&lt; *(ptr+1) &lt;&lt; endl; W Pythonie odpowiednikiem tablicy s\u0105 listy, ale brak wska\u017anik\u00f3w wymusza inny model pracy z pami\u0119ci\u0105: arr = [1,2,3,4,5]print(&#8222;Drugi element listy:&#8221;, arr[1]) Uwagi praktyczne: cz\u0119sto pocz\u0105tkuj\u0105cy myl\u0105 wska\u017aniki z referencjami, nie pami\u0119taj\u0105c, \u017ce wska\u017aniki mog\u0105 by\u0107 nullptr i wymagaj\u0105 ostro\u017cnego u\u017cycia przy arytmetyce wska\u017anik\u00f3w. Mechanizmy programowania obiektowego w C++ z przyk\u0142adami klas, dziedziczenia i enkapsulacji C++ wprowadza klasy jako podstaw\u0119 abstrakcji danych. Klasy pozwalaj\u0105 \u0142\u0105czy\u0107 dane i funkcje w jednym obiekcie, a mechanizmy enkapsulacji, dziedziczenia i polimorfizmu umo\u017cliwiaj\u0105 budowanie z\u0142o\u017conych system\u00f3w. Klasy i obiekty #include &lt;iostream&gt;using namespace std;class Punkt {public: int x, y; void ustaw(int a, int b) { x = a; y = b; } void wyswietl() { cout &lt;&lt; &#8222;(&#8221; &lt;&lt; x &lt;&lt; &#8222;,&#8221; &lt;&lt; y &lt;&lt; &#8222;)&#8221; &lt;&lt; endl; }};int main() { Punkt p; p.ustaw(2,3); p.wyswietl(); return 0;} Dziedziczenie i polimorfizm Dziedziczenie pozwala tworzy\u0107 klasy pochodne z klas bazowych, odziedziczaj\u0105c pola i metody: class Punkt3D : public Punkt {public: int z; void ustaw3D(int a,int b,int c) { x = a; y = b; z = c; } void wyswietl3D() { cout &lt;&lt; &#8222;(&#8221; &lt;&lt; x &lt;&lt; &#8222;,&#8221; &lt;&lt; y &lt;&lt; &#8222;,&#8221; &lt;&lt; z &lt;&lt; &#8222;)&#8221; &lt;&lt; endl; }}; Praktyczna uwaga: w C++ konieczne jest jawne okre\u015blenie widoczno\u015bci (public, protected, private), w przeciwnym razie mechanizmy dziedziczenia mog\u0105 zachowywa\u0107 si\u0119 inaczej ni\u017c oczekiwano. Szablony funkcji i klas w C++ jako uniwersalne narz\u0119dzie do tworzenia algorytm\u00f3w dla wielu typ\u00f3w danych Szablony pozwalaj\u0105 pisa\u0107 funkcje i klasy, kt\u00f3re dzia\u0142aj\u0105 dla r\u00f3\u017cnych typ\u00f3w danych bez powielania kodu. Szablon funkcji #include &lt;iostream&gt;using namespace std;template &lt;typename T&gt;T maksimum(T a, T b) { return (a &gt; b) ? a : b;}int main() { cout &lt;&lt; maksimum(5,10) &lt;&lt; endl; \/\/ int cout &lt;&lt; maksimum(3.14,2.72) &lt;&lt; endl; \/\/ double return 0;} Szablon klasy template &lt;typename T&gt;class Kolejka { T tab[10]; int indeks;public: Kolejka() { indeks=0; } void dodaj(T element) { tab[indeks++] = element; } T pobierz(int i) { return tab[i]; }}; Uwagi praktyczne: u\u017cycie szablon\u00f3w zwi\u0119ksza elastyczno\u015b\u0107, ale nadmierne szablony mog\u0105 prowadzi\u0107 do d\u0142ugiego czasu kompilacji i trudnych do zrozumienia komunikat\u00f3w b\u0142\u0119d\u00f3w. Standardowa biblioteka szablon\u00f3w (STL) w C++ z przyk\u0142adami u\u017cycia wektor\u00f3w, list, map i algorytm\u00f3w sortowania STL to zestaw gotowych klas i algorytm\u00f3w, kt\u00f3re przyspieszaj\u0105 tworzenie oprogramowania. Sk\u0142ada si\u0119 z kontener\u00f3w (wektory, listy, mapy), iterator\u00f3w i gotowych algorytm\u00f3w (sortowanie, wyszukiwanie). Przyk\u0142ad u\u017cycia wektora i sortowania #include &lt;iostream&gt;#include &lt;vector&gt;#include &lt;algorithm&gt;using namespace std;int main() { vector&lt;int&gt; v = {5,2,9,1}; sort(v.begin(), v.end()); for(int x:v) cout &lt;&lt; x &lt;&lt; &#8221; &#8222;; cout &lt;&lt; endl; return 0;} Mapy i wyszukiwanie #include &lt;map&gt;#include &lt;string&gt;#include &lt;iostream&gt;using namespace std;int main() { map&lt;string,int&gt; wiek; wiek[&#8222;Anna&#8221;] = 25; wiek[&#8222;Jan&#8221;] = 30; cout &lt;&lt; &#8222;Wiek Anny: &#8221; &lt;&lt; wiek[&#8222;Anna&#8221;] &lt;&lt; endl; return 0;} Praktyczna uwaga: iteratory STL powinny by\u0107 u\u017cywane zgodnie z typem kontenera. Pr\u00f3ba u\u017cycia iteratora do tablicy w stylu STL bez konwersji zako\u0144czy si\u0119 b\u0142\u0119dem. Najcz\u0119stsze pu\u0142apki i b\u0142\u0119dy w C++ podczas nauki wska\u017anik\u00f3w, zarz\u0105dzania pami\u0119ci\u0105 i u\u017cycia operator\u00f3w C++ pozostaje jednym z najbardziej rozbudowanych i wszechstronnych j\u0119zyk\u00f3w programowania, pozwalaj\u0105cym na tworzenie zar\u00f3wno niskopoziomowego kodu systemowego, jak i skomplikowanych aplikacji obiektowych i algorytmicznych. Jego struktura, typy danych, mechanizmy obiektowe, szablony i biblioteki standardowe czyni\u0105 go j\u0119zykiem, kt\u00f3rego zrozumienie wymaga praktyki, analizy i \u015bwiadomo\u015bci najcz\u0119stszych b\u0142\u0119d\u00f3w, ale oferuje ogromn\u0105 moc i kontrol\u0119 nad kodem \u017ar\u00f3d\u0142owym.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1054","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/1054","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1054"}],"version-history":[{"count":1,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/1054\/revisions"}],"predecessor-version":[{"id":1058,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/pages\/1054\/revisions\/1058"}],"wp:attachment":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1054"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}