سی++۱۱ که قبلاً به آن سی++ایکس۰ میگفتند، یکی از استانداردهای زبان برنامهنویسی سی++ است. این نسخه از استاندارد، در تاریخ ۱۲ اوت ۲۰۱۱ مورد تأیید سازمان بینالمللی استانداردسازی قرار گرفت و جایگزین سی++۰۳ شد و بعدها در تاریخ ۱۸ اوت ۲۰۱۴ استاندارد جدیدتر C++14 جایگزین آن شد. نام این استاندارد، از شیوه مرسوم نامگذاری نسخههای استاندارد زبان برنامهنویسی پیروی میکند که از روی سالی که استاندارد در آن منتشر شده نامگذاری میشوند. سی++۱۱ حاوی اضافاتی به هستهٔ زبان سی++ است و کتابخانه استاندارد این زبان را هم گسترش داده است و بخشهای عمدهای از کتابخانههای گزارش فنی سی++1 (تیآر1)، به استثنای توابع ریاضی، در آن گنجانده شدهاست.
تغییرات سی++۱۱ را میتوان به ۴ دسته اصلی تقسیم نمود:[۱]
- بهبود عملکرد و سرعت اجرا هسته زبان
- بهبود سرعت کامپایل کد
- بهبود راحتی و قابل استفاده بودن زبان
- بهبود تواناییهای موجود و اضافه کردن موارد جدید مثل الگوهای متغیرپذیر (variadic templates) و مدل حافظه چندریسمانی (Multithreading memory model) و...
اهداف اصلی کمیته استاندارد سی++
در توسعه تمامی قسمتهای سی++۱۱ موارد زیر توسطه کمیته استاندارد این زبان در نظر گرفته شدهاست:
- حفظ پایداری و سازگاری با استاندارد سی++ و تا حد امکان زبان سی
- ترجیح دادن اضافه کردن ویژگیهای جدید به کتابخانه استاندارد به توسعه هسته اصلی زبان
- ترجیح دادن تغییراتی که به تکنیکهای برنامهنویسی کمک کند
- بهبود زبان برای راحتتر شدن توسعه کتابخانه و نه صرفاً اضافه کردن امکاناتی برای کاربردهای خاص
- بهبود ایمنی نوع با فراهم کردن جایگزینهای امن تر برای روشهای قدیمی
- بهبود سرعت اجرا و امکان کار مستقیم با سختافزار
- فراهم کردن گزینههای مناسب برای مشکلات دنیای واقعی
- اجرای مفهوم «نداشتن سرباز بیمورد» (پشتیبانی از موارد خاص فقط زمان استفاده از ابزارهای خاص لازم باشد برای نمونه تا زمانی که از std::thread استفاده نکردید نیازی به پشتیبانی سیستم عامل از برنامهنویسی موازی ندارید)
- تبدیل سی++ به زبانی که هم برای تدریس ساده باشد و هم برای یادگیری
منابع