Czy wiesz, że jesteśmy również na Slacku? Dołącz do nas już teraz klikając tutaj!

Zarządzanie zasobami w C++ #3 – RVO, NRVO i obowiązkowe RVO w C++17


2020-02-20, 00:00
Zarządzanie zasobami w C++ #3 – RVO, NRVO i obowiązkowe RVO w C++17

W poprzednich dwóch częściach tego cyklu artykułów wyjaśniliśmy sobie rzeczy, które powinny być podstawą podczas pisania eleganckiego kodu w C++. W tej części przyjrzymy się bardziej niskopoziomowym aspektom języka związanym z zarządzaniem zasobami. Mogą być one jednak trudniejsze w zrozumieniu. Nie są jednak bardzo istotne z punktu widzenia programisty, dlatego nie polecam tego artykułu początkującym – mógłbym ich odstraszyć. Wszystkich innych zapraszam do lektury.... więcej

Maszyna Stanów oparta o std::variant na przykładzie gry


2019-10-09, 00:00
Maszyna Stanów oparta o std::variant na przykładzie gry

Jednym z potężniejszych wykorzystań std::variant niewątpliwie jest implementacja Maszyny Stanowej. Jakiś czas temu przygotowałem prosty przykład tego wzorca. Dzisiaj jednak mamy coś większego. W dzisiejszym wpisie przygotowanym przez Nikolai Wuttke zobaczycie, jak wykorzystać std::variant przy budowie gry kosmicznej!Poniższy wpis jest wpisem gościnnym autorstwa **Nikolai Wuttke**.... więcej

Późna inicjalizacja w C++


2019-09-24, 00:00
Późna inicjalizacja w C++

Późna inicjalizacja to wzorzec projektowy wykorzystywany w praktycznie każdym języku. Jego zaletą jest przesunięcie w czasie konstrukcji jakiegoś obiektu, która jest w jakiś sposób kosztowna, lub jej całkowite uniknięcie, jeżeli akurat tak się złoży, że dany obiekt w ogóle nie będzie potrzebny. Spójrzmy jak zaimplementować ten wzorzec poprawnie w C++.... więcej

Słowo kluczowe inline – czyli jak oszukać linker?


2019-06-06, 02:02
Słowo kluczowe inline – czyli jak oszukać linker?

Słowo kluczowe `inline` w języku C++ jest znane zapewne większości osób, które w co najmniej podstawowym stopniu opanowały ten język. Z mojej praktyki wynika jednak, że mniej doświadczonym osobom znane jest tylko jego jedno, i to mniej ważne zastosowanie.... więcej

Jak iterować po katalogach w C++?


2019-05-16, 00:00
Jak iterować po katalogach w C++?

Jak byście zaimplementowali funkcję która ma przeglądnąć katalogi i znaleźć plik z zadanym rozszerzeniem? Na przykład wyszukać wszystkie pliki .txt lub .cpp? Aby rozwiązać ten problem musicie posiadać dostęp do iteracji po plikach. Czy jest to możliwe w C++? Przyjrzyjmy się dostępnym technikom oraz zobaczmy, co jest dostępne od nowego standardu C++17.... więcej

Historia Wyrażeń Lambda: od C++03 do C++20, część II


2019-04-25, 00:00
Historia Wyrażeń Lambda: od C++03 do C++20, część II

W pierwszej części serii przeszliśmy przez lambdy w perspektywie od C++03, przez C++11 aż do C++14. Opisałem motywację do wprowadzenia tej potężnej funkcjonalności języka C++, podstawowe scenariusze użycia, składnię oraz jej udoskonalenia, które pojawiały się z każdą kolejną wersją standardu. Wspomniałem również o kilku scenariuszach brzegowych. Teraz pora na przeniesienie się do standardu C++17 oraz spojrzenie w przyszłość (całkiem bliską!): C++20.... więcej

Pssst! Używamy Cookies. Poprzez używanie naszego serwisu zgadzasz się na odczytywanie i zapisywanie Cookies w swojej przeglądarce.
Polityka Prywatności