C++11

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

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

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

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

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

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

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