کامپایلر
قواعد زبان، تحلیل نوع و تولید کد؛ مانند GCC، Clang و MSVC.
برای انتخاب کامپایلر فقط شمارهٔ نسخه کافی نیست. این صفحه زبان، کتابخانهٔ استاندارد، سامانهٔ ساخت و سکوی مقصد را به یک تصمیم قابلبررسی تبدیل میکند.
استاندارد مشخص میکند «چه باید باشد»؛ زنجیرهابزار نشان میدهد «اکنون چه قابلاستفاده است».
قواعد زبان، تحلیل نوع و تولید کد؛ مانند GCC، Clang و MSVC.
پیادهسازی اجزای std با libstdc++، libc++ یا کتابخانهٔ مایکروسافت.
گزینهٔ استاندارد، پیوندگر، کتابخانهٔ سامانه و هدف انتشار نتیجهٔ نهایی را تغییر میدهند.
GCCپروژهٔ گنومجموعهٔ متنباز و چندسکویی؛ جدول رسمی آن وضعیت زبان را از نسلهای نخست تا آزمایشهای C++29 تفکیک میکند.
-std=c++23 · -std=c++26Clangپروژهٔ الالویامفرانتاند ماژولار با گزارش ویژگیبهویژگی و نمایش وضعیت کامل، جزئی یا آزمایشی هر پیشنهاد.
C++2c · C++2dMSVCمایکروسافتکامپایلر و کتابخانهٔ ویژوال سیپلاسپلاس؛ جدول انطباق رسمی نسخهٔ محیط توسعه و وضعیت کتابخانه را ثبت میکند.
/std:c++latest| قابلیت | نسل | آنچه باید بررسی شود | زیستبوم تطبیقی |
|---|---|---|---|
Modulesماژولها | C++20 | فرانتاند، واحد سرآیند و پشتیبانی سامانهٔ ساخت | جدول مقایسه ↗ |
Conceptsمفهومها | C++20 | قواعد زبان و گزارشهای اصلاحی پس از انتشار | جدول مقایسه ↗ |
std::expectedنتیجه یا خطا | C++23 | نسخهٔ کتابخانهٔ استاندارد همراه کامپایلر | جدول مقایسه ↗ |
std::printچاپ قالببندیشده | C++23 | سرآیند، پشتیبان قالببندی و رفتار نویسهگذاری | جدول مقایسه ↗ |
بازتاب ایستاreflection | C++26 | نسخه، گزینهٔ آزمایشی و میزان کاملبودن پیادهسازی | جدول مقایسه ↗ |
قراردادهاcontracts | C++26 | معناشناسی ارزیابی و گزینههای ویژهٔ سازنده | جدول مقایسه ↗ |
| موضوعهای نسل بعدپیشنهادهای فعال | C++29 | پیشنهاد را تا پذیرش در متن کاری، قابلیت قطعی ندانید | اخبار استانداردسازی ↗ |
پشتیبانی واقعی حاصل همپوشانی چهار جزء است.
نسخهٔ دقیق و گزینهای مانند -std=c++23 را ثبت کنید.
نسخهٔ کتابخانه میتواند از فرانتاند عقبتر یا جلوتر باشد.
در کد بر قابلیت واقعی تکیه کنید، نه شمارهٔ محصول.
همهٔ کامپایلرها و سکوهای پشتیبانیشده را در خط تولید بیازمایید.