گشتاسب مظفریان – GMozafarian

مشاور و توسعه دهنده نرم افزار -Adviser and Software Developer

cpp-one-chart

معرفی ویژگی های جدیدC++11

به نام یزدان پاک

C++11 (معروف به C++0x) یک نسخه استاندارد از زبان ++C است که در ۱۲ آگوست ۲۰۱۱ منتشر و توسط ISO جایگزین C++03 شد این نسخه دارای نشان ISO/IEC 14882:2011 می باشد . و در تاریخ ۱۸ آگوست ۲۰۱۴ نسخه جدید آن یعنی C++14 منتشر و جایگزین C++11 شد . گرچه تمامی کامپایلر ها درحال کاربروی C++14 هستند اما هنوز تمامی آن ها از C++14 پشتیبانی نمیکنند . در C++11 و c++14 دستورات و توابع جدیدی به هسته اصلی زبان و کتابخانه استاندارد آن اضافه شده است . شامل بسیاری از کتابخانه های C++TR1 به استسنای کتابخانه ی توابع ریاضی ویژه .

درحال حاضر دانشمندان درحال کار بر روی C++17 هستند که قرار است در سال ۲۰۱۷ منتشر شود .

به اولین مقاله از سری مقالات ویژگی های جدید C++11 خوش آمدید .

در این سری مقالات قصد دارم که ویژگی های جدید C++11 رو معرفی و آموزش بدهم و برای این کار ۴ مقاله به نام های زیر در نظر گرفته شده است .

قسمت یکم – معرفی ویژگی های جدید C++11

قسمت دوم – معرفی و آموزش ویژگی های جدید زمان اجرا (Run-Time) در C++11

قسمت سوم – معرفی و آموزش ویژگی های جدید زمان ساخت (Run-Time) در C++11

قسمت چهارم – پیشرفت در ویژگی ها (قابلیت استفاده) در C++11

قسمت پنجم – تغییرات و تازه های کتابخانه استاندارد C++11

ادامه …..

قوانین تغییرات در نسخه ی اصلی :

تغییرات در ++C یعنی تغییر در دستورات و کتابخانه های استاندارد.

در توسعه ابزار C++11 کمیته استاندارد سازی احکام زیر را اعمال کرده است :

  1. حفظ ثبات و سازگاری با نسخه C++98 و C
  2. معرفی ویژگی های جدید از طریق کتابخانه ها به گسترش زبان اصلی ترجیح داده میشود.
  3. ترجیح داده میشود که تغییرات به تکامل روش برنامه نویسی منجر شود .
  4. بهبود C++ به منظور تسهیل سیستم و طراحی کتابخانه به ویژگی های جدید مفید تنها برای کاربرد های خاص ترجیح داده میشود.
  5. افزایش ایمنی با رائه روش های ایمنتر از روش های نا امن قبل
  6. افزایش کارایی و توانایی کار به صورت مستقیم با سخت افزار
  7. ارائه راه حل های مناسب برای مشکلات دنیای واقعی
  8. توسعه به منظور آسانی آموزش و یادگیری بدون نیاز به حذف دستورات یا …. زبان ++C

در این تغییرات توجه بسیار زیادی به مبتدیان شده است زیرا آن ها نیز همچون دیگر مبتدیان علاقه ای به مطالعه و گسترش دانش خود نداشته و فقط کد می نویسند و خود را به جنبه های سطحی زبان محدود میکنند .

امکانات اضافه شده به هسته ++C

یکی از وظایف کمیته استاندارد سازی توسعه هسته زبان است . در توسعه فعلی چندین بخش از زبان بهبود یافته ,که شامل چند نخی (multithreading) , پشتیبانی از بنامه نویسی عمومی ,مقدار دهی اولیه یکنواخت و پیشرفت عملکرد می باشد.

برای اهداف این مقاله ویژگی های هسته زبان و تغییرات آن به چهار بخش کلی دسته بندی شداند :

  1. پیشرفت در عملکرد زمان اجرا (Run-Time)
  2. پیشرفت در عملکرد زمان ساخت (Build-Time)
  3. پیشرفت در ویژگی ها (قابلیت استفاده)
  4. و قابلیت های جدید

نکته : بعضی از این گروه ها میتوانند در گروه های دیگر نیز قرار گیرند , اما در درجه اول آن گروه ها باید دارای ویژگی های لازم باشند .

 

۱- پیشرفت در عملکرد زمان اجرا (Run-Time)

این ویژگی زبان در درجه اول باید دارای سودی برای ما باشد که در اینجا بهبود حافظه و سرعت محاسباتی است . که C++11 با ارائه راه حل ها و دستوراتی با عناوین زیر به این مهم دست یافته است .

Rvalue references and move constructors

constexpr – Generalized constant expressions

Modification to the definition of plain old data

توضیحات و آموزش این دستورات در قسمت دوم این سری مقالات با عنوان : (معرفی و آموزش ویژگی های جدید زمان اجرا (Run-Time) در C++11)  قرار دارد.

۲- پیشرفت در عملکرد زمان ساخت (Build-Time)

۳- پیشرفت در ویژگی ها (قابلیت استفاده)

۴- و قابلیت های جدید

دستورات اضافه شده :

  • auto
  • nullptr
  • for each
  • override
  • Lambda
  • Strongly-typed enums
  • ()begin و  () end
  • static_assert
  • smart pointer

این دستورات در بخش خود آموزش داده خواهد شود .

پست های مرتبط

لینک کوتاه: http://GMozafarian.ir/YwhsZ
() end()begin11autocC++11farsifor eachisLambdanewnullptroverridepersian C++11smart pointerstatic_assertStrongly-typed enumswhatآموزشبرنامهبرنامه نویسیجدیدچهچیز هایچیست؟زبانسی پلاس پلاسسی پلاس پلاس 11قسمتقسمت یکمگ.ممعرفینویسهایویژگییکم

گشتاسب مظفریان گشتاسب مظفریان • بهمن ۲۹, ۱۳۹۳


پست‌های قبلی

پست‌های بعدی

پاسخ دهید

Your email address will not be published / Required fields are marked *