C++ marec 2022: Funkcia vs. typ, serializácia v C++, DWCAS, C++ moduly vo Visual Studiu

ByIvan BREZIANSKY

C++ marec 2022: Funkcia vs. typ, serializácia v C++, DWCAS, C++ moduly vo Visual Studiu

Máme pre vás všetky marcové novinky v našom najnovšom mesačnom prehľade C++. Prečítajte si mesačný súhrn na našom blogu a prihláste sa na odber e-mailov s poznámkami v jazyku C++ vyplnením formulára.

Jazykové novinky

Novinky C++ Februárové virtuálne plénum bolo oficiálnym dátumom zmrazenia funkcií pre C++. Odvtedy sa okolo C++ Standards Committee výrazne stíšil. Počas posledných niekoľkých mesiacov pracovala Library Evolution Study Group na rôznych opravách existujúcich jazykových funkcií, ktoré boli vylepšené pre C++23, ako sú rozsahy a formátovanie. Tiež vylepšovali API nových funkcií, ktoré už boli prijaté pre C++ 23, najmä mdspan, ktorý teraz vyzerá naozaj dobre. Študijná skupina Language Evolution Study Group sa podobne zameriava na rôzne menšie opravy chýb jazykových funkcií.

Vzdelávanie

SFINAE, rozlíšenie preťaženia a prekvapivá chyba Nový blogový príspevok v príbehoch C++ zdôrazňuje zaujímavý aspekt SFINAE. Vzorka použitá v článku vykonáva základnú operáciu tlače n-tice cez operátor výstupu prúdu. Vlastný operátor vyvolá prekvapivú chybu kompilátora, keď sa vyvolá tlač symbolu ‘\n’. A čo je ešte prekvapivejšie, kód nefunguje pre std::tuple_size_v<TupleT>, ale funguje pri použití std::tuple_size<TupleT>::value vo vnútri implementácie. Autor sa hlbšie zaoberá dôvodmi, prečo std::tuple_size_v<TupleT> nefunguje pre TupleT=char. Zaujímavým zistením je, že na bezprostrednom kontexte záleží.

Metal v C++ s SDL2

Pravdepodobne ste už počuli o Metal, grafickom API od Apple. Zatiaľ čo typické príklady demonštrujúce scenáre použitia sa zvyčajne spoliehajú na ekosystém Apple (ObjectiveC/Swift a XCode), tento nový blogový príspevok vám ukáže, ako vytvoriť pracovnú vzorku pomocou C++ a špecifických nástrojov C++, ako sú CMake a Conan.

About the author

Ivan BREZIANSKY editor

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.