Constexpr در C++ چیست؟
Constexpr در C++ چیست؟

تصویری: Constexpr در C++ چیست؟

تصویری: Constexpr در C++ چیست؟
تصویری: مقدمه ای بر constexpr | سری مدرن Cpp 2024, ممکن است
Anonim

constexpr مشخص می کند که مقدار یک شی یا یک تابع را می توان در زمان کامپایل ارزیابی کرد و عبارت را می توان در سایر عبارات ثابت استفاده کرد. به عنوان مثال، در کد زیر product() در زمان کامپایل ارزیابی می شود. در C++ 11، a constexpr تابع باید فقط یک عبارت بازگشتی داشته باشد.

علاوه بر این، Constexpr برای چه چیزی استفاده می شود؟

را constexpr specifier اعلام می کند که امکان ارزیابی مقدار تابع یا متغیر در زمان کامپایل وجود دارد. سپس چنین متغیرها و توابعی می توانند باشند استفاده شده که در آن فقط عبارات ثابت زمانی کامپایل مجاز است. آ constexpr مشخص کننده استفاده شده در یک اعلان شیء مستلزم const است.

آیا Constexpr ارزیابی می شود؟ 2 پاسخ. constexpr توابع خواهد بود ارزیابی شد در زمان کامپایل که همه آرگومان های آن عبارت های ثابت هستند و نتیجه در یک عبارت ثابت نیز استفاده می شود.

با توجه به این موضوع، چه زمانی باید از Constexpr استفاده کنم؟

constexpr نشان می دهد که مقدار یا مقدار بازگشتی ثابت است و در صورت امکان در زمان کامپایل محاسبه می شود. آ constexpr مقدار انتگرال را می توان در هر جایی که یک عدد صحیح const مورد نیاز است، مانند آرگومان های الگو و اعلان های آرایه استفاده کرد.

آیا توابع Constexpr درون خط هستند؟

شما می توانید با توابع constexpr محاسبات زیادی در زمان کامپایل. بنابراین، نتیجه محاسبه در زمان اجرا به عنوان یک ثابت در ROM موجود است. علاوه بر این، توابع constexpr ضمنی هستند خطی . نحو از توابع constexpr با تغییر از C++11 به C++14 به شدت بهبود یافت.