پرش به محتوا

سی‌پلاس‌پلاس ۱۷

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از سی پلاس‌پلاس ۱۷)

سی پلاس‌پلاس ۱۷، در سپتامبر ۲۰۱۷ توسط سازمان بین‌المللی استانداردسازی به رسمیت شناخته شد. این استاندارد ISO/IEC 14882:2017 نام دارد. به این نسخه از سی پلاس پلاس C++1z نیز گفته می‌شود. قابلیت‌های بسیاری از جمله مهمترین آنها نوع لفظی u8، کلاس std::byte، از بین رفتن دستور register و شروط همگردانی-هنگام به این زبان اضافه شدند.[۱][۲][۳]

جدید

[ویرایش]

افزوده شدن کلان‌دستور (ماکرو) has_include__ برای بررسی اینکه آیا هدر مورد نظر برای شمول وجود دارد یا خیر.

اولیه سازی در شرط ها:

int main(){
int test=6;
if(int test2=6;test==test2){
return 1;
}
}

افزوده شدن کلاس std::any.

افزوده شدن کلاس std::filesystem که برای فایل سیستم‌ها است.

اشاره‌گرهای هوشمند مشترک (std::shared_ptr) اکنون استرینگ (رشته حرف) های سبک سی را هم می‌توانند مدیریت کنند.

نوع لفظی u8 برای تعیین یک رشته حرف یا استرینگ به عنوان محدوده حروف ۸ بیتی امضا نشده، افزوده شد.

اجازه استفاده از ویژگی‌ها (Attributes) در فضای نام (namespace) و شمارش‌ها (enum).

افزوده شدن ویژگی‌های استاندارد [[fallthrough]]،[[maybe_unused]],[[nodiscard]].

اضافه شدن شرط‌هایی با قابلیت اجرای شرط در حین همگردانی. (constexpr if).

اضافه شدن کلاس std::byte.

اضافه شدن std::string_view.

اضافه شدن هدرهای <execution>،<variant> و <optional>.

اشاره‌گرهای هوشمند خودکار (auto_ptr) حذف شدند.

حذف شدن دستور register.

لامبداهای همگردانی هنگام (constexpr).

اضافه شدن متغیرهای درون خطی.

حذف شدن std::unexpected.[۴][۱][۳]

منابع

[ویرایش]
  1. ۱٫۰ ۱٫۱ «C++17 - cppreference.com». en.cppreference.com. دریافت‌شده در ۲۰۲۰-۰۸-۰۳.
  2. "C++‎". ویکی‌پدیا، دانشنامهٔ آزاد. 2020-08-03.
  3. ۳٫۰ ۳٫۱ "C++17". Wikipedia (به انگلیسی). 2020-03-24.
  4. https://www.learncpp.com/cpp-tutorial/b-3-introduction-to-c17