آموزش C++

مباحث پایه زبان C++

انواع Data Type Modifier در زبان C++ – آموزش زبان C++

  • شنبه ۱۰ شهریور ۱۳۹۷
  • بازدید ۲,۸۶۳ نفر

تصویر cpp-modifier-types_3790 انواع Data Type Modifier در زبان C++ - آموزش زبان C++

انواع Data Type Modifier در زبان C++

در زبان برنامه نویسی C++، می توان با استفاده از Data Type Modifier های موجود نوع متغیر را تغییر داد. یک Data Type Modifier برای تغییر مفهوم نوع پایه یک متغیر استفاده می شود.

در زیر لیست انواع Data Type Modifier در زبان C++ را مشاهده می کنید:

  • signed
  • unsigned
  • long
  • short

Modifier های singed، unsigned، long و short را می توان بر روی انواع داده مبتنی بر integer اعمال کرد. علاوه بر این می توان modifier های singed و unsigned را بروی نوع char و long را بر روی نوع double اعمال کرد. Modifier های singed و unsigned همچنین می توانند به عنوان پیشوندی برای Modifier های long و short باشند. در زبان C++ می توانید در هنگام استفاده از Modifier های unsigned، short و یا long کلمه کلیدی int را ننویسید.

به عنوان مثال هر دو متغیر زیر به صورت عدد صحیح بدون علامت می باشند:

برای درک بهتر عملکرد Modifier های singed و unsigned به مثال زیر توجه کنید:

امتحان کنید

بعد از اینکه کد بالا توسط کامپایلر زبان C++ اجرا شود نتیجه زیر بدست خواهد آمد:

در کد بالا به دلیل الگوری بیتی 50000 که به عنوان unsigned short می باشد، به صورت -15,536 تقسیر می شود.

Type Qualifier ها در C++

type qualifier ها اطلاعات اضافی در مورد متغیر را فراهم می کنند. در جدول زیر type qualifier های موجود در زبان C++ را مشاهده می کنید.

ردیفQualifier
1const

متغیرها و شیء هایی که به صورت const تعریف شوند، در حین اجرای برنامه نمی توانند تغییر کنند.

2volatile

volatile به کامپایلر می گوید که مقدار متغیر ممکن است در متد هایی که صریحا توسط برنامه مشخص نشده است، تغییر کند و از بهینه سازی کد توسط کامپایلر جلو گیری می کند (فقط آن بخشی از کد که به صورت volatile باشد، بهینه نمی شود).

3restrict

عبارت restrict به کامپایلر می گوید که از بارگذاری مجدد یک متغیر جلوگیری کند و برای بهینه سازی کد از مقدار قبلی که بارگذرای شده است، استفاده کند.

مثال const

مثال volatile

مثال زیر توسط کامپایلر بهینه سازی می شود:

خروجی (به زمان کامپایل توجه کنید):

مثال زیر توسط کامپایلر بهینه سازی نمی شود:

خروجی (به زمان کامپایل توجه کنید):

مثال restrict

در مثال زیر از restrict استفاده نشده است:

مونتاژ اسمبلی کد بالا:

در مثال زیر از restrict استفاده شده است:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است