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

سی پلاس‌پلاس ۱۷، در سپتامبر ۲۰۱۷ توسط سازمان بین‌المللی استانداردسازی به رسمیت شناخته شد. این استاندارد 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.https://www.learncpp.com/cpp-tutorial/b-3-introduction-to-c17

 منابع 

رده:استانداردهای زبان برنامه‌نویسی
رده:خانواده زبان برنامه‌نویسی سی++
رده:زبان‌های برنامه‌نویسی
رده:سی++
رده:استانداردهای آی‌ئی‌سی
رده:استانداردهای ایزو