مقایسه زبان C با ++C
#ویژگیها
در مقایسه با C زبان ++C ویژگیهای جدیدی را معرفی نموده است مانند تعریف متغیر به عنوان عبارت، تغییر نوعهای همانند تابع، اضافه/حذف، نوع داده bool، توابع درونخطی، آرگومان های پیش فرض، گران بارسازی عملگر و تابع ، فضای نام و عملگر تعیین حوزه ، کلاسها (شامل تمام ویژگیهای مربوط به کلاسها همانند وراثت، اعضای تابع، توابع مجازی، کلاسهای انتزاعی، و سازندهها)، قالبها، پردازش استثناء، کنترل نوع ، زمان اجرا، عملگرهای سربار شده ورودی (<<) و خروجی (>>)
🔻برخلاف باور عموم ++C نوع داده ثابت را معرفی ننمودهاست.کلمه const کمی پیش از استفاده از این کلمه در ++C توسط زبان C به صورت رسمی به کار گرفته شد.
🔻در بعضی حالات ++C تعداد کنترل نوع بیشتری نسبت به زبان C انجام میدهد. (برای اطلاعات بیشتر بخش «ناهماهنگی با C» را در پایین ببینید)
👈توضیحات با استفاده از // قبل از زبان C در زبان BCPL معرفی شده بود که مجدداً در زبان ++C به کار گرفته شد.
🔻بعضی ویژگیهای ++C بعداً توسط C به کار گرفته شد مانند نحوه تعریف for، توضیحات به شکل ++C (با استفاده از //)، و کلمه inline با وجود اینکه تعریف این کلمه در C با تعریف آن در زبان ++C هماهنگی ندارد
🔻هم چنین در C ویژگیهایی معرفی شده است که در ++C وجود ندارند مانند ماکروهای قابل تغییر و استفاده بهتر از آرایهها به عنوان آرگومان. بعضی کامپایلرها این ویژگیها را پیاده نمودهاند اما در بقیه این ویژگیها موجب ناهماهنگی میگردد.