| C++23 | |
| modifier |
C++23 est une version de la norme ISO/IEC 14882 définissant le langage de programmation C++ qui suit la version C++20. La norme a été finalisée par le WG21 lors de la réunion à Issaquah en . Le dernier working draft gratuit est le N4950, qui date du .
Les modifications qui ont été acceptées pour inclusion dans C++23 incluent :
if consteval[] multidimensionnel (par exemple v[1, 3, 7] = 42;)() et d'indexation [] statiques et lambdas statiques,auto(x) et auto{x}#elifdef et #elifndef#warningfor range-based[[assume(expression)]]uz et z pour std::size_t et std::ssize_tstd::float16_t, std::float32_t, std::float64_t, std::float128_t, std::bfloat16_t() facultatif pour les expressions lambdas nullairesconstexpr :
constexprstatic et thread_local dans les fonctions constexprconstexpr n'ont plus besoin que leur type de retour et leurs types de paramètres soient des types littérauxbool dans les static_assert et if constexpr-std=c++23.-std=c++2b ou -std=c++23 Il dispose également d'une option pour activer les extensions GNU en plus de la prise en charge expérimentale de C++23, -std=gnu++2b.static constexpr variables in constexpr functions »,