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

Standardowe konwersje wyrażeń dotyczące kategorii wartości


2019-04-18, 00:00
Standardowe konwersje wyrażeń dotyczące kategorii wartości

W ostatnim artykule dotyczącym kategorii typów powiedzieliśmy sobie o podziale wyrażeń, oraz o tym, czym są kategorie wartości. Nie wspomnieliśmy jednak, co się dzieje, kiedy wyrażenie danej kategorii pojawi się w miejscu gdzie oczekiwane jest wyrażenie innej kategorii. Ten artykuł ma na celu wyjaśnienie właśnie zasad konwersji wyrażeń oraz tego, jakie operacje program musi przeprowadzić, aby te konwersje mogły się odbyć.... więcej

Podział wyrażeń ze względu na kategorie wartości w C++


2019-03-28, 01:20
Podział wyrażeń ze względu na kategorie wartości w C++

Prawdopodobnie słyszałeś o lvalue oraz rvalue. W czasach panowania C oraz C++ (przed standardem C++ 11) były one dość łatwe do rozróżnienia - lvalue, to były te wyrażenia, które mogły znajdować się po lewej stronie przypisania, a rvalue to cała reszta. Od C++11 podział na wyrażenia stał się nieco bardziej skomplikowany. Poza znanymi l- i r-value mamy także gl-, x- oraz p-rvalue. W tym poście, chciałbym się przyjrzeć temu podziałowi nieco bardziej.... więcej

Dedukcja typu klasy szablonowej


2018-08-08, 00:00
Dedukcja typu klasy szablonowej

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

Flagi -Wall i -Wextra to nie wszystko, czyli zbiór przydatnych flag do Gcc


2018-06-06, 00:00
Flagi -Wall i -Wextra to nie wszystko, czyli zbiór przydatnych flag do Gcc

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

Mało znany kuzyn statica - thread_local


2018-05-23, 00:00
Mało znany kuzyn statica - thread_local

C++11 wprowadził wiele funkcji, bez których nie wyobrażamy sobie pisania nowoczesnego kodu. Należą do nich na przykład move semantics, lambda czy smart pointery. Są też ficzery, z których korzysta się raczej rzadko, ale warto je znać i wiedzieć co potrafią. Jednym z takich dodatków jest słowo kluczowe thread_local.... więcej

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