• رمان ققنوس آتش به قلم مونا ژانر تخیلی، مافیایی/جنایی، اجتماعی، عاشقانه کلیک کنید
  • رمان ترسناک.فانتزی.عاشقانه‌ مَسخِ لَطیف به قلم کوثر حمیدزاده کلیک کنید

معرفی زبان C++

  • نویسنده موضوع ADMINSTATOR
  • تاریخ شروع
  • پاسخ‌ها 0
  • بازدیدها 274
  • Tagged users هیچ

ساعت تک رمان

ADMINSTATOR

کاربر اخراج شده
کاربر اخراج شده
تاریخ ثبت‌نام
2019-12-05
نوشته‌ها
23
لایک‌ها
125
امتیازها
28
کیف پول من
0
Points
0
خلاصه تعریفی از زبان برنامه نویسی سی‌پلاس‌پلاس (C++)



cpp_logo.png



با توجه به پیشرفت و توسعه‌ی زبان‌های برنامه‌نویسی، به ویژه ظهور زبان‌های جدید که جهت حل مشکلات زبان‌های موجود و یا با هدف ایجاد انقلاب و یا سهولت برنامه‌نویسی، یکی از سوألاتی که مدام به ذهن می‌آید این است که چه زبانی را باید انتخاب کرد که از لحاظ بُعد علمی، اقتصادی و فنی بهترین انتخاب باشد تا با یک خیال راحت به یادگیری آن بپردازیم.

در این مقاله به مزایای این زبان نسبت به دیگر زبان‌ها و همچنین چشم‌اندازی از آینده‌ی زبان اشاره شده است؛ سی‌پلاس‌پلاس به عنوان قدرتمند‌ترین زبان برنامه‌نویسی تا به کنون است که به جرأت می‌توان گفت به عنوان یک زبان برنامه‌نویسیِ غالب بر دیگر زبان‌های برنامه‌نویسی لقب «هیولای زبان‌های برنامه‌نویسی» را به خود اختصاص می‌دهد. با توجه به ساختار و نقشه‌ی راه توسعه‌ی خود، هنوز هم به عنوان یکی از پر طرفدار‌ترین و پر کاربرد‌ترین زبان‌های برنامه‌نویسی ساخت دست بشر به شمار می‌رود.




سی‌پلاس‌پلاس با قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه شده با پشتیبانی از برنامه‌نویسی ساخت‌‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریک است. C++ به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی تجاری هستند بنا بر این در زیر فلسفه‌ای از این زبان را بیان می کنیم:

  • زبانC++ طراحی شده‌است تا یک زبان عمومی با کنترل نوع ایستا و همانند C قابل حمل و پربازده باشد.
  • زبانC++ طراحی شده‌است تا مستقیماً و بصورت جامع از چندین شیوه برنامه‌نویسی (برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شی‌گرا، انتزاع داده، و برنامه‌نویسی جنریک)
  • زبانC++ طراحی شده‌ است تا به برنامه‌نویس امکان انتخاب دهد حتی اگر این انتخاب اشتباه باشد.
  • زبانC++ طراحی شده‌ است تا حداکثر تطابق با C وجود داشته باشد و یک انتقال راحت از C را ممکن سازد.
  • زبانC++ از بکاربردن ویژگی‌های خاص که مانع از عمومی شدن است خودداری می‌نماید.
  • زبانC++ از ویژگی‌هایی که بکار برده نمی‌شوند استفاده نمی‌کند.
  • زبانC++ طراحی شده‌است تا بدون یک محیط پیچیده عمل نماید.
کتابخانه‌ها چه چیزی هستند و در این زبان چگونه است؟ به مجموعه‌های یکپارچه‌ای از کلاس‌های پیاده سازی شده (به صورت فایل‌های سرآیند با پیاده سازی‌های کد یا اشیای زبان ماشین) که برای برنامه‌نویسی به کار می‌روند، یک کتابخانه C++ گفته می‌شود و یکی از ویژگی‌های بارز آن تولید و دسترسی به کتابخانه‌های بی‌شمار است.

لیستی از این کتابخانه‌های همراه با توضیحات در لینک زیر آمده است : A list of open source C++ libraries - cppreference.com

لیست کامل انواع کامپایلر‌ها : List of compilers - Wikipedia

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

امکانات اضافه شده به هسته C++ : یکی از وظایف کمیته استاندارد سازی توسعه هسته زبان است.در توسعه فعلی چندین بخش از زبان بهبود یافته که شامل چندنخی (multithreading) ، پشتیبانی از برنامه‌نویسی عمومی، مقدار دهی اولیه یکنواخت و پیشرفت عملکرد میباشد.

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

ویرایش C++‎‎‎‎‎‎‎‎‎‎‎ 14 بر روی اشکال‌زدائی و بهبودهای جزیی استاندارد قبلی یعنی C++‎‎‎‎‎‎‎‎‎‎‎11 تمرکز کرده است؛ این زبان در تاریخ ۱۵ می ۲۰۱۳ منتشر و در ۱۵ آگوست ۲۰۱۴ بعد از رای گیری و انجام تغییراتی جزئی استاندارد این زبان منتشر شد. بدلیل این که عموماً تاریخ انتشار این زبان بطور قابل ملاحظه‌ای دیر هنگام بوده است به C++‎‎‎‎‎‎‎‎‎‎‎14 گاهی C++‎‎‎‎‎‎‎‎‎‎‎1y نیز گفته می‌شود. همانند استاندارد C++‎‎‎‎‎‎‎‎‎‎‎11 که به آن C++‎‎‎‎‎‎‎‎‎‎‎0x گفته می‌شده و قرار بر این بوده که قبل از ۲۰۱۰ منتشر شود (البته تا سال ۲۰۱۱ انتشار به تعویق افتاد).


گرچه تمامی کامپایلر‌ها درحال کاربروی C++‎‎‎‎‎‎‎‎‎‎‎14 هستند اما هنوز تمامی آن ها ازC++‎‎‎‎‎‎‎‎‎‎‎ 14 پشتیبانی نمی‌کنند.
در C++‎‎‎‎‎‎‎‎‎‎‎11 و C++‎‎‎‎‎‎‎‎‎‎‎14 توابع جدیدی به هسته اصلی زبان و کتابخانه استاندارد آن اضافه شده است که شامل بسیاری از کتابخانه‌های C++‎‎‎‎‎‎‎‎‎‎‎TR1 به استثنای کتابخانه‌ی توابع ریاضی ویژه می‌باشد.

ویژگی‌های اضافه شده کتابخانه در ویرایش ۱۱

  • std::move
  • std::forward
  • std::to_string
  • type traits
  • smart pointers
  • std::chrono
  • tuples
  • std::tie
  • std::array
  • unordered containers
  • std::make_shared
  • memory model
ویژگی‌های اضافه شده به زبان در ویرایش ۱۱

  • move semantics
  • variadic templates
  • rvalue references
  • initializer lists
  • static assertions
  • auto
  • lambda expressions
  • decltype
  • template aliases
  • nullptr
  • strongly-typed enums
  • attributes
  • constexpr
  • delegating constructors
  • user-defined literals
  • explicit virtual overrides
  • final specifier
  • default functions
  • deleted functions
  • range-based for loops
  • special member functions for move semantics
  • converting constructors
  • explicit conversion functions
  • inline-namespaces
  • non-static data member initializers
  • right angle brackets
ویژگی‌های اضافه شده به کتابخانه در ویرایش ۱۴

  • user-defined literals for standard library types
  • compile-time integer sequences
  • std::make_unique


ویژگی‌های اضافه شده به زبان در ویرایش ۱۴

  • binary literals
  • generic lambda expressions
  • lambda capture initializers
  • return type deduction
  • decltype(auto)
  • relaxing constraints on constexpr functions
  • variable templates
ویژکی‌های اضافه شده به کتابخانه در ویرایش ۱۷

  • std::variant
  • std::optional
  • std::any
  • std::string_view
  • std::invoke
  • std::apply
  • splicing for maps and sets
ویژگی‌های اضافه شده به زبان در ویرایش ۱۷

  • template argument deduction for class templates
  • declaring non-type template parameters with auto
  • folding expressions
  • new rules for auto deduction from braced-init-list
  • constexpr lambda
  • lambda capture this by value
  • inline variables
  • nested namespaces
  • structured bindings
  • selection statements with initializer
  • constexpr if
  • utf-8 character literals
  • direct-list-initialization of enums
 
انجمن رمان نویسی دانلود رمان

بالا