CppNews #59 [04.03 - 10.03.2019] - MSVS redukuje rozmiar binarki z wyjątkami.
Witamy w kolejnym CppNews, czyli zbiorze linków do blogów, artykułów, słuchowisk i filmów dotyczących C++.
W tym tygodniu znajdziecie linki do kilku artykułów opisującech niedawno zaakceptowane moduły, świetne usprawnienie MSVS redukujące rozmiar wynikowych plików binarnych nawet o 20% i wiele więcej!
CppNews #59 [04.03 - 10.03.2019]
Nowy odcinek C++ Weekly - Jason Turner opisuje dlaczego nigdy nie powinniśmy przeładowywać operatorów
&&
oraz||
.
youtube.com/watch?v=hCGadTsT0S0Jonathan Boccara opisuje w jaki sposób wywołać funkcję dla każdego elementu kontenera. Pokazuje jak można do tego użyć
fold expressions
z C++17 oraz ciekawy trik zstd::initializer_list
:
fluentcpp.com/2019/03/05/for_each_arg-applying-a-function-to-each-argument-of-a-function-in-cpp/Rainer Grimm wyjaśnia co może być parametrem szablonu, dlaczego czasami musimy w ciele funkcji/metody dać ekstra słowo
template
:
modernescpp.com/index.php/types-non-types-and-templates-as-template-parametersKolejny raport ze spotkania komisji standaryzacyjnej, od Corentina, skupił się na opisaniu coroutines i modułów:
cor3ntin.github.io/posts/kona2019/vector-of-bool napisał podsumowanie propozycji modułów, które zostało zaakceptowane. Wcale nie są martwe na starcie!
vector-of-bool.github.io/2019/03/04/modules-doa-2.htmlDwa ciekawe posty od Arthura O’Dwyera. W pierwszym opisuje bardzo interesujący proposal o nazwie
Expansion Statements
, który pozwoli na następujące konstrukcje:for... (auto arg : pack)
,for... (constexpr int i : array)
orazfor... (auto arg : tuple)
.
quuxplusone.github.io/blog/2019/02/28/expansion-statements/
W drugim wyjaśnia różnicę w tworzeniu obiektów poprzezstd::make_shared
istd::shared_ptr
:
quuxplusone.github.io/blog/2019/03/06/shared-ptr-vs-make-shared-pitfall/Kolejny raport ze spotkania w Kona - tym razem nie tylko klasyczne
Modules & Coroutines
, ale również Contracts, Initialization, Aggregates, CTAD, Audio:
timur.audio/trip-report-february-2019-iso-c-committee-meeting-kona-hawaiiCiekawy artykuł pokazujący jak używać biblioteki {fmtlib}:
wgml.pl/blog/formatting-user-defined-types-fmt.htmlJonathan Boccara napisał artykuł w którym opisuje, jakich algorytmów możemy użyć dla typu
std::tuple
:
fluentcpp.com/2019/03/08/stl-algorithms-on-tuples/Nowy odcinek CppCast - wywiad z Kirkiem Shoopem, o spotkaniu w Kona, programowaniu asynchronicznym, bibliotece RxCpp i o przyszłości o Executorach: []
cppcast.com/2019/03/kirk-shoop/Zespół Microsoftu zrobił coś niesamowitego! Zmniejszyli rozmiar wynikowych plików binarnych intensywnie używających wyjątków o ok. 20%!
devblogs.microsoft.com/cppblog/making-cpp-exception-handling-smaller-x64/Ciekawy artykuł o jednym z najbardziej popularnych wzorcu projektowym - fabryce:
derydoca.com/2019/03/c-tutorial-auto-registering-factory/
Bonus 1: Microsoft udostępnił swój kalkulator na licencji open-source!
blogs.windows.com/buildingapps/2019/03/06/announcing-the-open-sourcing-of-windows-calculator/