CppNews #39: [24.09 - 30.09.2018]


2018-10-01, 00:00

CppNews #39: [24.09 - 30.09.2018]

Zapraszamy na kolejną porcję newsów, czyli zbioru linków do postów, filmików i artykułów, które pojawiły się w ostatnim tygodniu.

W tym tygodniu odbyła się największa konferencja C++ na świecie - CppCon! Zaczęły się pojawiać pierwsze prelekcje w serwisie Youtube - przez najbliższy miesiąc będziemy wybierać jeden z filmików, który uznamy za warty obejrzenia. Dzisiaj będzie to wykład od “ojca C++”, Bjarne’a, na temat przyszłości naszego ukochanego języka. Oprócz tego artykuł o tym, jak usunąć zduplikowane elementy z kontenerów asocjacyjnych oraz przykład programowania ekstremalnie defensywnego. Zapraszamy!

  1. Artykuł od Christophera Di Belli - zaczyna od fragmentu kodu, który sprawdza czy dana liczba jest liczba pierwszą (używa algogrytmu z angielskiej wikipedii, z optymalizacją 6k±1), i refaktoruję kod w stylu funkcyjnym korzystając std::ranges. Ten post może zmienić sposób myślenia podczas projektowania algorytmów!
    https://cjdb.com.au/a-prime-opportunity-for-ranges

  2. Jeśli zastanawialiście się, jak może wyglądać kod ekstremalnie defensywny, koniecznie sprawdźcie linka poniżej. Philippe Goarke prezentuje ciekawy styl, z mnóstwem static_assertów:
    https://philippegroarke.com/posts/2018/easy_defensive_programming/

  3. Nowy odcinek C++ Weekly od Jasona Turnera - tym razem wraca do jednego ze starych odcinków, gdzie prezentował praktyczny przypadek użycia dziedziczenia po lambdzie (tutaj). W nowym odcinku pokazuje, jak przy użyciu funkcji z C++17 uprościć implementację. Bez wątpienia, nowa wersja jest dużo prostsza i bardziej czytelna:
    https://youtube.com/watch?v=EsUmnLgz8QY

  4. Kolejny post z serii od Jonathana Boccary na temat usuwania elementów z kontenerów - tym razem pokazuje, jak pozbyć się zduplikowanych obiektów z kontenerów asocjacyjnych:
    https://fluentcpp.com/2018/09/25/remove-duplicates-associative-container-cpp/

  5. Rainer Grimm napisał post wprowadzający do wpisów z C++ Core Guideliness na temat Concepts - tym razem tylko pokazuje po co piszemy generyczny kod oraz kiedy kod jest “zbyt generyczny”:
    http://modernescpp.com/index.php/c-core-guidelines-rules-for-the-usage-of-concepts

  6. Wszyscy na to czekaliśmy - pojawiają się pierwsze filmiki z CppCon! Mnóstwo wiedzy, setki godzin użytecznej wiedzy. Wszystkie filmiki będą się sukcesywnie pojawiać na oficjalnym kanale konferencji -w tym tygodniu polecamy inaguracyjny wykład od Bjarne’a Stroustrupa o przyszłości języka, czyli jak nowa funkcja “Concepts” zmieni sposób pisania generycznego kodu:
    https://youtube.com/watch?v=HddFGPTAmtU

  7. Wpis od Arthura O’Dwyera o “perfect backwarding”, czyli jak prawidłowo “przechwytywać” zwracane obiekty:
    https://quuxplusone.github.io/blog/2018/09/25/perfect-backwarding/

  8. Artykuł od Arne Mertz, pokazuje ze szczegółami różnicę pomiędzy tworzeniem shared_ptra konstruktorem a metodą std::make_shared. Co ciekawe, pokazuje jakie wady ma to drugie rozwiązanie:
    https://arne-mertz.de/2018/09/make_shared-vs-the-normal-shared_ptr-constructor/

  9. Artykuł od Jonathana Boccary - prezentuje trochę inny styl deklarowania zmiennych, przy użyciu słowa kluczowego auto. Na pewno nie zmieni to światopoglądu, ale warto znać plusy i minusy takiej deklaracji:
    https://fluentcpp.com/2018/09/28/auto-stick-changing-style/

  10. Popularna bilbioteka Abseil dostarczyła nowe algorytmu haszujące do swoich kontenerów (oraz nowe API do hashowania): https://abseil.io/blog/20180927-swisstables



Wojciech Razik

Programista C++ z wieloletnim stażem. Uwielbia czytać standard C++ przed snem, na co dzień tworzy oprogramowanie do robota. Jego drugą pasją jest hejtowanie JSa.

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