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

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از C++11)

سی++۱۱ که قبلاً به آن سی++ایکس۰ می‌گفتند، یکی از استانداردهای زبان برنامه‌نویسی سی++ است. این نسخه از استاندارد، در تاریخ ۱۲ اوت ۲۰۱۱ مورد تأیید سازمان بین‌المللی استانداردسازی قرار گرفت و جایگزین سی++۰۳ شد و بعدها در تاریخ ۱۸ اوت ۲۰۱۴ استاندارد جدیدتر C++14 جایگزین آن شد. نام این استاندارد، از شیوه مرسوم نامگذاری نسخه‌های استاندارد زبان برنامه‌نویسی پیروی می‌کند که از روی سالی که استاندارد در آن منتشر شده نامگذاری می‌شوند. سی++۱۱ حاوی اضافاتی به هستهٔ زبان سی++ است و کتابخانه استاندارد این زبان را هم گسترش داده است و بخش‌های عمده‌ای از کتابخانه‌های گزارش فنی سی++1 (تی‌آر1)، به استثنای توابع ریاضی، در آن گنجانده شده‌است.

تغییرات سی++۱۱ را می‌توان به ۴ دسته اصلی تقسیم نمود:[۱]

  • بهبود عملکرد و سرعت اجرا هسته زبان
  • بهبود سرعت کامپایل کد
  • بهبود راحتی و قابل استفاده بودن زبان
  • بهبود توانایی‌های موجود و اضافه کردن موارد جدید مثل الگوهای متغیرپذیر (variadic templates) و مدل حافظه چندریسمانی (Multithreading memory model) و...

اهداف اصلی کمیته استاندارد سی++[ویرایش]

در توسعه تمامی قسمت‌های سی++۱۱ موارد زیر توسطه کمیته استاندارد این زبان در نظر گرفته شده‌است:

  • حفظ پایداری و سازگاری با استاندارد سی++ و تا حد امکان زبان سی
  • ترجیح دادن اضافه کردن ویژگی‌های جدید به کتابخانه استاندارد به توسعه هسته اصلی زبان
  • ترجیح دادن تغییراتی که به تکنیک‌های برنامه‌نویسی کمک کند
  • بهبود زبان برای راحت‌تر شدن توسعه کتابخانه و نه صرفاً اضافه کردن امکاناتی برای کاربردهای خاص
  • بهبود ایمنی نوع با فراهم کردن جایگزین‌های امن تر برای روش‌های قدیمی
  • بهبود سرعت اجرا و امکان کار مستقیم با سخت‌افزار
  • فراهم کردن گزینه‌های مناسب برای مشکلات دنیای واقعی
  • اجرای مفهوم «نداشتن سرباز بی‌مورد» (پشتیبانی از موارد خاص فقط زمان استفاده از ابزارهای خاص لازم باشد برای نمونه تا زمانی که از std::thread استفاده نکردید نیازی به پشتیبانی سیستم عامل از برنامه‌نویسی موازی ندارید)
  • تبدیل سی++ به زبانی که هم برای تدریس ساده باشد و هم برای یادگیری

منابع[ویرایش]