W chwili pisania tego artykułu jest niemal pewne, iż C++23 będzie czwartym wydaniem C++ z rzędu, które zostanie opublikowane bez opóźnień. Wedle przewidywań będzie to grudzień br. C++23 ma w tej chwili status feature freeze, co oznacza, iż jego obecna wersja będzie zasadniczo tożsama z ostateczną. W tym artykule opiszę co ciekawsze nowości z nadchodzącego standardu...
Zagadnienia poruszane w tym artykule:
- Zmiany w języku;
- Wbudowany suffix dla typu size_t;
- Lambdy: opcjonalne () i atrybuty;
- Ignorowanie białych znaków w sekwencjach ucieczki;
- Wymuszenie rozkładu członków klasy;
- Parametr this jako dedukowany parametr szablonu;
- Wieloargumentowy operator[];
- Statyczne operatory () i [];
- Zmiana czasu życia wartości w zakresowych pętlach for;
- Wsparcie dyrektywy #warning;
- Zmiany w bibliotece standardowej;
- Nagłówek <stacktrace>;
- Nagłówek <expected>;
- Nagłówek <generator>;
- Nagłówek <print>;
- Nagłówek <mdspan>;
- Nagłówek <flat_set>;
- Nagłówek <spanstream>;
- Nagłówek <stdfloat>;
- std::is_scoped_enum;
- std::to_underlying;
- String contains;
- std::unreachable;
- Byteswap;
- Constexpr – kolejne funkcje;
- Konwersja wskaźników dla C API;
- Nowości w Ranges;
- ChunkOperator | (pipe) dla adapterów użytkownika;
- Shift left, right;
- Starts_with.
Artykuł pochodzi z magazynu Programista nr 104 (4/2023). Szczegółowy spis treści wydania nr 104: https://programistamag.pl/programista-4-2023-109/
Autorem artykułu jest Paweł "KrzaQ" Zakrzewski https://dev.krzaq.cc. Absolwent Automatyki i Robotyki oraz Informatyki na Zachodniopomorskim Uniwersytecie Technologicznym. Pracuje jako Software Engineer w Sauce Labs. Programowaniem interesuje się od dzieciństwa, jego ostatnie zainteresowania to C++ i metaprogramowanie.