ما هو Constexpr في C ++؟
ما هو Constexpr في C ++؟

فيديو: ما هو Constexpr في C ++؟

فيديو: ما هو Constexpr في C ++؟
فيديو: CppCon 2017: Ben Deane & Jason Turner “constexpr ALL the Things!” 2024, يمكن
Anonim

كونستكسبر يحدد أن قيمة كائن أو دالة يمكن تقييمها في وقت الترجمة ويمكن استخدام التعبير في تعبيرات ثابتة أخرى. على سبيل المثال ، في ما يلي رمز المنتج () يتم تقييمه في وقت الترجمة. في C ++ 11 ، أ كونستكسبر يجب أن تحتوي الوظيفة على بيان إرجاع واحد فقط.

علاوة على ذلك ، ما هو استخدام Constexpr؟

ال كونستكسبر يصرح المحدد أنه من الممكن تقييم قيمة الوظيفة أو المتغير في وقت الترجمة. يمكن بعد ذلك أن تكون هذه المتغيرات والوظائف تستخدم حيث يسمح فقط بالتعبيرات الثابتة للوقت. أ كونستكسبر محدد مستعمل في التصريح عن الكائن يشير إلى const.

هل تم تقييم Constexpr؟ 2 إجابات. كونستكسبر ستكون الوظائف مقيمة في وقت الترجمة عندما تكون جميع الوسيطات الخاصة به عبارة عن تعبيرات ثابتة ويتم استخدام النتيجة في تعبير ثابت أيضًا.

بخصوص هذا ، متى يجب علي استخدام Constexpr؟

كونستكسبر يشير إلى أن القيمة ، أو القيمة المرجعة ، ثابتة ، وحيثما أمكن ، يتم حسابها في وقت الترجمة. أ كونستكسبر يمكن استخدام القيمة التكاملية حيثما يكون هناك حاجة إلى عدد صحيح ثابت ، كما هو الحال في وسائط القالب وإعلانات الصفيف.

هل دالات Constexpr مضمنة؟

يمكنك أداء مع وظائف constexpr الكثير من العمليات الحسابية في وقت الترجمة. لذلك ، تكون نتيجة الحساب في وقت التشغيل كثابت في ذاكرة القراءة فقط المتاحة. بالإضافة الى، وظائف constexpr ضمنية في النسق . بناء جملة وظائف constexpr تم تحسينه بشكل كبير مع التغيير من C ++ 11 إلى C ++ 14.