کلمات کلیدی در C++ کلمات رزرو شدهای هستند که برای کامپایلر معنا و مفهوم خاصی دارند. این کلمات نمیتوانند برای هیچ منظور دیگری یا به عنوان شناسهها مانند نام متغیرها یا توابع استفاده شوند. اینها کلماتی از پیش تعریف شده هستند که بخشی از سینتکس زبان C++ محسوب میشوند و به تعریف ساختار و رفتار کد کمک میکنند.
کلمات کلیدی نوع داده پایه
این کلمات کلیدی نوع دادههای پایه را تعریف میکنند −
- int − نوع داده صحیح (عدد صحیح).
- char − نوع داده کاراکتری.
- float − نوع داده نقطه شناور با دقت تک.
- double − نوع داده نقطه شناور با دقت دو برابر.
- void − نشاندهنده بدون مقدار یا نوع؛ معمولاً برای توابعی که مقداری برنمیگردانند استفاده میشود.
- bool − نوع داده بولی (درست یا نادرست).
- wchar_t − نمایانگر نوع کاراکتر پهن (wide character) که بیشتر برای بینالمللیسازی کاربرد دارد.
کلمات کلیدی کنترل جریان
کلمات کلیدی کنترل جریان کلمات رزرو شده ویژهای در برنامهنویسی هستند که برای پیادهسازی تصمیمگیریها و عملیات تکراری استفاده میشوند.
- دستورات شرطی − if, else, switch, case, default
- سازههای حلقهای − for, while, do
- دستورات کنترلی − break, continue, return, goto
کلمات کلیدی کلاس ذخیرهسازی
این کلمات کلیدی مدت زمان ذخیرهسازی و لینکدهی متغیرها را مشخص میکنند −
- auto − کامپایلر به طور خودکار نوع متغیر را استنباط میکند (در C++11 به بعد).
- register − پیشنهاد میدهد متغیر در رجیستر CPU ذخیره شود برای دسترسی سریعتر.
- static − نشان میدهد متغیر حتی پس از پایان محدوده تعریفش مقدار خود را حفظ میکند.
- extern − متغیری را اعلام میکند که در واحد ترجمه دیگری تعریف شده است.
- mutable − اجازه میدهد یک عضو کلاس حتی در صورتی که شیء ثابت باشد، تغییر کند.
کلمات کلیدی اصلاحگر
این کلمات کلیدی برای اصلاح خصوصیات نوع داده استفاده میشوند −
- const − نشان میدهد مقدار متغیر پس از مقداردهی اولیه قابل تغییر نیست.
- volatile − نشان میدهد مقدار متغیر ممکن است به طور غیرمنتظره تغییر کند و از برخی بهینهسازیهای کامپایلر جلوگیری میکند.
- signed − نشان میدهد نوع داده میتواند مقادیر مثبت و منفی را دربرگیرد.
- unsigned − نشان میدهد نوع داده فقط میتواند مقادیر غیرمنفی داشته باشد.
- short − نشاندهنده نسخه کوتاهتر نوع عدد صحیح است.
- long − نشاندهنده نسخه طولانیتر نوع عدد صحیح است.
کلمات کلیدی توابع
این کلمات کلیدی رفتار خاصی را برای توابع تعریف میکنند −
- inline − به کامپایلر پیشنهاد میکند تابع را به صورت درجا گسترش دهد تا سربار فراخوانی تابع کاهش یابد.
- virtual − نشان میدهد تابع میتواند در کلاسهای مشتق شده بازنویسی شود.
- explicit − از تبدیلهای ضمنی برای سازندهها یا عملگرهای تبدیل جلوگیری میکند.
کلمات کلیدی کلاس و شیء
این کلمات کلیدی مفاهیم پایهای در برنامهنویسی شیءگرا (OOP) هستند که امکان تعریف و دستکاری نوعهای داده تعریف شده توسط کاربر را فراهم میکنند.
- تعریف کلاس − class, struct, union, enum
- مدیریت فضای نام − namespace, this
- مدیریت حافظه − new, delete
مشخصکنندههای دسترسی
مشخصکنندههای دسترسی کلمات کلیدی در برنامهنویسی شیءگرا هستند که دسترسی یا قابلیت مشاهده اعضای کلاس (ویژگیها و متدها) را برای بخشهای دیگر برنامه تعریف میکنند.
- public
- protected
- private
کلمات کلیدی مدیریت استثنا
این کلمات کلیدی برای مدیریت استثناها استفاده میشوند −
-
try − بلوکی از کد را تعریف میکند که برای استثناها آزمایش میشود.
-
catch − بلوکی از کد که استثناهای پرتاب شده توسط try را مدیریت میکند.
-
throw − برای اعلام وقوع یک استثنا استفاده میشود. کلمات کلیدی عملگر کلمات کلیدی عملگر کلماتی هستند که به شما اجازه میدهند نحوه کار عملگرها (مثل +، -، * و غیره) را با نوعهای داده سفارشی، مانند کلاسها، تعریف یا تغییر دهید.
-
sizeof
-
typeid
-
alignof
-
alignas
کلمات کلیدی فضای نام این کلمات کلیدی برای مدیریت حوزه شناسهها (اسکوپ) استفاده میشوند:
- namespace − تعریف یک حوزه که میتواند شناسههایی را در خود جای دهد تا از برخورد نامها جلوگیری شود.
- using − اجازه میدهد از نامهای یک فضای نام بدون نیاز به مشخص کردن کامل آن استفاده شود.
کلمات کلیدی تبدیل نوع (Type Casting) این کلمات کلیدی برای تبدیل نوع صریح (اکسپلیسیت) به کار میروند:
- static_cast − تبدیل و بررسی نوع در زمان کامپایل انجام میدهد.
- dynamic_cast − به طور ایمن اشارهگرها یا رفرنسها را در سلسلهمراتب ارثبری تبدیل میکند (نیازمند RTTI است).
- const_cast − ویژگیهای const یا volatile را اضافه یا حذف میکند.
- reinterpret_cast − هر نوع اشارهگری را به نوع اشارهگر دیگری تبدیل میکند بدون هیچ بررسی ایمنی.
کلمات کلیدی متفرقه برخی کلمات کلیدی دیگر که توسط کتابخانه C++ ارائه شده و کاربردهای متنوعی فراتر از عملکردهای اصلی نوع دادهها، کنترل جریان یا برنامهنویسی شیءگرا دارند:
- using, typedef
- ویژگیهای نوع (Type Traits) − decltype, static_assert
- عملگرهای تبدیل − static_cast, dynamic_cast, const_cast, reinterpret_cast
کلمات کلیدی در مقابل شناسهها
کلمات کلیدی از پیش تعریف شده و رزرو شده توسط زبان برنامهنویسی هستند و در زبان عملکرد و معنای خاصی دارند، در حالی که شناسهها نامهایی هستند که کاربر برای عناصر برنامه تعریف میکند. شناسهها برای نمایش متغیرها، توابع و سایر موجودیتها در کد ساخته میشوند.