From Wikipedia, the free encyclopedia
C++23 نام غیررسمی نسخه بعدی استاندارد ISO / IEC 14882 برای زبان برنامهنویسی سیپلاسپلاس است که از C++20 پیروی میکند. پیشنویس فعلی N4910 است.[1]
در فوریه ۲۰۲۰، در نشست نهایی برای C++20 که در پراگ صورت گرفت، یک طرح کلی برای C++23 تصویب شد:[2][3] ویژگیهای برنامهریزیشده برای C++23 شامل پشتیبانی کتابخانه برای کوروتینها، کتابخانه استاندارد ماژولار، اجراکنندهها و شبکه میباشد.
اولین جلسه WG21 با تمرکز بر C++23 قرار بود در اوایل ژوئن ۲۰۲۰ در وارنا برگزار شود، اما به دلیل دنیاگیری کووید-۱۹ لغو شد،[4][5] مانند نشست نوامبر ۲۰۲۰ در نیویورک[6][5] و نشست فوریه ۲۰۲۱ در کایلوا، هاوایی.[6] همه جلسات در حال حاضر تا نوامبر ۲۰۲۲ به صورت مجازی برنامهریزی شدهاند.[6]
<expected>
[7]<flat_map>
[8]<flat_set>
[9]<generator>
[10]<mdspan>
[11]<print>
[12]<spanstream>
[13]<stacktrace>
[14]<stdfloat>
[15]سربرگهایی که از زبان C گرفته شدهاند:
<stdatomic.h>
[16]در جلسات غیابیِWG21، تاکنون چند ویژگی جدید به پیشنویس C++23 اضافه شدهاست. اما موارد زیر پس از جلسه مجازی WG21 در ۹ نوامبر ۲۰۲۰، که در نظرسنجیها تأیید شدند، اضافه شدند:[17]
std::size_t
و نوع علامتدار مربوطه.[18]contains
std::basic_string
و std::basic_string_view
تا بررسی کند رشته دارای یک زیررشته یا کاراکتر است یا خیر.[19]<stacktrace>
، بر اساس Boost.Stacktrace[20]std::is_scoped_enum
[21]<stdatomic.h>
، برای تطبیق با اتمیکهای C[22]پس از نشست مجازی WG21 در ۲۲ فوریه ۲۰۲۱، ویژگیهای زیر که توسط نظرسنجیها تأیید شدند اضافه میشوند:[23]
counted_iterator
.[24]()
از عبارات لامبدا.[25]time_point::clock
.[26]std::visit
برای کلاسهایی که از std::variant
مشتق شدهاند.[27]std::to_underlying
.[30]پس از نشست مجازی عمومی استانداردهای ISO در ژوئن ۲۰۲۱، ویژگیهای جدید و گزارشهای نقص توسط نظرسنجیها تأیید شد:[31]
if consteval
[32]bool
.[33]std::span
بر مبنای جریان رشته <spanstream>
.[35]std::out_ptr
و std::inout_ptr
.[36]constexpr
برای std::optional
، std::variant
،[37] و == std::type_info::operator
.[38]std::stack
(stack) و std::queue
(queue).[39]std::basic_string
و std::basic_string_view
از nullptr
.[45]std::invoke_r
.[46]std::format
.[47]std::pair
.[48]پس از نشست مجازی عمومی استانداردهای ISO در اکتبر ۲۰۲۱، ویژگیهای جدید و گزارشهای نقص توسط نظرسنجیها تأیید شد:[49]
constexpr
، اما هنوز برای ارزیابی آنها در زمان کامپایل درست نیستند.[50]this
واضح برای پارامتر شیء.[51]#elifdef
و #elifndef
.[54]arr[1, 2]
).[56]auto(x)
یا {
x}auto
.[57]std::pmr::stacktrace
که معادل std::basic_stacktrace<std::pmr::polymorphic_allocator>
است.[60]std::ranges::istream_view
با الگوهای مستعار std::ranges::istream_view
، std::ranges::wistream_view
، و شی پوینت سفارشیسازی std::views::istream
.[62]zip
:[63]
zip_view
zip_transform_view
adjacent_view
(و std::views::pairwise
معادل std::views::adjacent<2>
)adjacent_transform_view
(و std::views::pairwise_transform
معادل std::views::adjacent_transform<2>
)std::move_only_function
.[64]std::optional
.[65]std::basic_string::resize_and_overwrite
.[66]volatile T*
).[67]std::byteswap
.[68]std::span
و std::basic_string_view
قابل کپیکردن است.[70]noexcept
شرطی به std::exchange
.[71]پس از نشست مجازی WG21 در ۷ فوریه ۲۰۲۲، ویژگیهای زیر که توسط نظرسنجیها تأیید شدند اضافه میشوند:[74]
std::expected
[75]constexpr
برای cmath
و cstdlib
[76]ranges::to
[78]std::aligned_storage
و std::aligned_union.
[79]constexpr
شدنِ std::unique_ptr
[81]ranges::iota
، ranges::shift_left
و ranges::shift_right
[83]views::join_with
[84]views::chunk
و views::slide
[85]views::chunk_by
[86]Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.