Stos i sterta w C++

We współczesnym programowaniu główny akcent jest położony na używanie danego języka oraz jego frameworków i bibliotek. Zawierają one gotowe klasy i metody wyręczając programistę, aby nie musiał całej aplikacji budować od podstaw. Nie mniej ważną rzeczą jest jednak umiejętność implementacji struktur danych, która pozwala zrozumieć ich dzialanie. Wśród nich ważne miejsce zajmują stos (ang. stack)…

Pary i krotki w C++11/14

Standard C++98 wprowadził pierwszą klasę pair do zarządzania parami wartości, a standard C++03 klasę tuple do obsługi krotek. W standardzie C++ obie zostały rozbudowane. Klasa pair Klasa pair służy do przechowywania dwóch wartości. Trkatuje je jako jedność (jeden zestaw danych). Znajomość tej klasy jest bardzo przydatna, ponieważ używana jest ona w wielu miejscach Biblioteki Standardowej….

Python jako narzędzie budowania projektu w C++

Nowoczesny C++ ma wiele narzędzi służących do wspomagania jego budowy. Jednym z takich narzędzi jest język Python, który z roku na rok pnie się coraz wyżej w rankingach popularności. Python jest językiem skryptowym co go predystynuje do używania w projektach korzystających z C++. Budowa struktury projektu Można ręcznie tworzyć katalogi oraz szablony plików składające się…

Język Java a C++. Czy możliwa jest szybka „przesiadka”?

Każdy, kto miał kontakt z C++ oraz Javą wie, jak często podobny jest kod pisany w tych dwu językach. Wydaje się zatem, że przesiadka z jednego na drugi jest dla programisty łatwa i bezproblemowa. Czy tak jest w rzeczywistości? Jako programista mam doświadczenie w obu tych technologiach. W obu pracowałem (bądź pracuję). I mogę stwierdzić,…

O wyższości kompilatora nad preprocesorem

C++ od początku odziedziczył wiele elementów swojego poprzednika – języka C. Preprocesor wraz z dyrektywami są jednym z takich elementów. O ile we wcześniejszych wersjach C++ często używano preprocesora, tyle w nowych standardach (szczególnie od C++98/03) zaczęło się to zmieniać. Język zaczął intensywnie zmieniać swoje oblicze i preprocesor zeszedł na dalszy nieco plan. Tym niemniej…

Intelignetne wskaźniki w C++11/14 – część 2

W poprzedniej części zajmowalismy się inteligentnym wskaźnikiem unique_ptr. Teraz przyszła kolej na dwa pozostałe wskażniki, zdefiniowane przez klasy shared_ptr oraz weak_ptr. Klasa shared_ptr Część obiektów używanych w programie posiada jednego właściela i jeden wskaźnik. Są jednak takie, które tych wskaźników mają wiele, aby były widoczne z różnych miejsc. Te odnośniki do obiektu z różnych miejsc…

Intelignetne wskaźniki w C++11/14 – część 1

Każdy, kto choć pobieżnie zetknął się z językiem C lub C++ musiał mieć styczność także z elementem tych języków programowania, jakim są wskaźniki (ang. pointers). Te specjalne zmienne służą do przechowywania adresów innych zmiennych. Jest to bardzo przydatny element języka. Jednak w pewnych sytuacjach wskaźniki mogą być jednak niebezpieczne. Dobrze to widać w przypadku zarządzania…