عملگر decltype
با استفاده از عملگر decltype میتوان نوع یک متغیر یا عبارت را به دست آورد و برای اعلان متغیر های جدید استفاده کرد. حالت کلی استفاده از این عملگر به صورت زیر است :
decltype (Variable/Expression) Variable_Name;
برای واضح تر شدن عبارت بالا یک مثال ساده در مورد استفاده از decltype در زیر آمده است.
int OldVar;
// Declare a new variable base on ''OldVar'' type
decltype (OldVar) NewVar;
در بالا یک متغیر صحیح به نام OldVar تعریف شده است و در خط بعد با استفاده از decltype نوع متغیر OldVar برای ایجاد یک متغیر جدید استفاده شده است. این یک نمونه ی بسیار ساده از کاربرد این عملگر است. کاربرد اصلی این عملگر در برنامه نویسی جنریک و توابع قالب (template) است. جایی که نوع متغیر ها همیشه قابل تعیین نیستند و ممکن است با هر بار اجرا برنامه دچار تغییر شوند.
برای مثال تصور کنید که میخواهید حاصل ضرب دو متغیر به نام های v1 و v2 که میتوانند از انواع int ، short یا double باشند را در یک متغیر دیگر به نام Result ذخیره کنید. در این مواقع برای تعریف نوع متغیر Result بایستی از عملگر decltype استفاده کنید و آن را از نوع "نوع حاصلضرب دو متغیر اولیه" تعریف کنید. مانند زیر :
decltype (v1 * v2) Result = v1*v2;
در خط بالا نوع متغیر Result بسته به نوع متغیر های v1 و v2 متغیر است.
+ نوشته شده در شنبه سیزدهم اسفند ۱۳۹۰ ساعت 12:49 توسط MEC
GENERAL INFORMATION