C++ Testy jednostkowe: stawianie gTest

Mały wstęp do tematu testów jednostkowych. Trudno docenić to jak przydatne są testy jednostkowe zaczynając pisać projekt od podstaw. O wiele łatwiej jest docenić ich wage modyfikując kod, którego autor dawno zapomniał o jego istnieniu..

Czytaj więcej...

Program w C++ i jego pamięć.

Pamiętam, że w pewnym momencie nauki programowania usłyszałem magiczne pytanie- gdzie znajdują się zmiennę automatyczne. Odpowiedź była prosta. Podobnie, gdy padło pytanie dotyczące zmiennych lokowanych dynamicznie. Następnie zwykle padało pytanie o to gdzie lokowane są zmienne globalne i wtedy miałem problem.

Czytaj więcej...

Czy wciąż używać wskaźników surowych?

Jedną z największych pułapek w jakie można wpaść po poznaniu wskaźników inteligentnych, jest stwierdzenie, że od tej pory nie używamy już wskaźników surowych. Świetnie wytłumaczył to Herb Sutter lecz myślę, że temat ten wciąż nie pojawia się wystarczająco często. Z tego powod postanowiłem zawrzeć w tym artykule pigułkę tego co powiedział już Herb.

Czytaj więcej...

shared_ptr i weak_ptr- ostatni gasi światło.

Po omówieniu unique_ptr przyszła pora na omówienie shared_ptr i weak_ptr. O ile poprzedni wskaźnik posiadał zasoby na własność i jako jedyny miał prawo do ich modyfikacji, o tyle dzisiejsi dwaj bohaterowie dzielą się prawem własności i pracują razem nad jednym obiektem. Jeżeli zastanawiasz się w jaki sposób jest to zrealizowane, to wpis powinien dać Ci solidne podstawy by to zrozumieć. 

Czytaj więcej...

Unique_ptr, czyli monopol na zasoby.

W poprzednim wpisie powiedzieliśmy sobie kilka słów o wskaźnikach surowych (raw pointers), czyli zwykłych wskaźnikach znanych nam z języka C.

Wskazaliśmy niektóre z ich słabych stron pozostawiając pytania, na które nie udzielają nam one odpowiedzi. Dzisiaj robiąc krok dalej w temacie wskaźników inteligetnych, chciałbym poruszyć temat pierwszego z nich- unique_ptr, pozostawiając wam do oceny, w jaki sposób odpowiada on na postawione wcześniej pytania. 

Czytaj więcej...

Po co nam Smart Pointery?

Dzisiajszym wpisem chcialbym otworzyć na blogu temat wskaźników inteligentnych: std::unique_ptr, std::shared_ptr, std::weak_ptr, które znajdziemy w bibliotece <memory> o ile posiadamy kompilator zgodny ze standardem C++11 lub nowszym. 

Aby dobrze wejść w temat smart pointerów, najpierw chciałbym napisać o wskaźnikach surowych (raw pointers). 

Czytaj więcej...

Podkategorie