Język C++ będąc językiem kompilowanym dostarcza nam mechanizm służący do ukrywania naszych implementacji przed osobami trzecimi - pliki nagłówkowe. Używając ich w odpowiedni sposób, jesteśmy w stanie dostarczyć kod realizujący zadanie, nie odsłaniając całej wiedzy, którą posiadamy. Niestety, pliki nagłówkowe bywają bardzo uciążliwe, jeżeli używa się ich byle jak. Jak zatem radzić sobie z nagłówkami, kiedy te nas nie słuchają?... więcej
Na początku przygody z C++, szablony uznawane są za "czarną magię". Wydają się być bardzo trudne w zrozumieniu, i przysparzają kłopotu nawet doświadczonym programistom. Całe szczęście, wraz z kolejnymi wersjami standardu, metaprogramowanie jest coraz łatwiejsze. Spróbujemy się przyjrzeć jednemu z dodatków do C++17, który może sprawić, że nasz kod będzie jeszcze bardziej czytelny.... więcej
Krótkie wprowadzenie do std::variant, dostępnego od C++17.... więcej
Poprzednim razem zaprezentowałem CMake od strony teoretycznej, nie opierając wiedzy na żadnym konkretnym przykładzie. W dzisiejszym wpisie przedstawię CMake od strony praktycznej. Celem dzisiejszego wpisu jest stworzenie projektu korzystającego z bibliotek SFML oraz GoogleTest.... więcej
Po moim ostatnim wpisie spotkałem się z konstruktywną krytyką ze strony czytających. Jednym z zarzutów było to, że propaguję używanie GLOB'a, który to powoduje sporo problemów. Ponieważ nie mam na celu propagować tego co złe, dzisiaj omówię ten temat nieco szerzej.... więcej
Wielu z programistów korzystających z Gcc używa standardowego zestawu flag ostrzegających przed błędami, czyli tytułowego -Wall -Wextra oraz -pedantic. Użytkownicy clang'a mają jeszcze dodatkowo flagę -Weverything. Podobnie osoby używające MSVS - /Wall. Warto więc wiedzieć, jak sobie radzić gdy możemy skorzystać tylko z pierwszego wymienionego kompilatora.... więcej