يحدد فصلك تحويلًا صريحًا إلى منطقي، مما يتيح لك استخدام مثيله 't' مباشرة في العبارات الشرطية. ومع ذلك، فإن هذا التحويل الصريح يطرح السؤال: في أي مكان آخر لا يمكن استخدام "منطقي" بدون طاقم الممثلين؟
سيناريوهات التحويل السياقي
يحدد معيار C أربعة السيناريوهات الرئيسية حيث يمكن تحويل القيمة إلى السياق منطقي:
العبارات:
if (t)
/* statement */;
التعبيرات:
!t
t && t2
static_assert، noexcept، صريح، إذا constexpr (يتطلب تحويل constexpr) عامل التشغيل)
static_assert(t);
noexcept(t)
الخوارزميات والمفاهيم:NullablePointer، وسيطات المسند أو المقارنة في خوارزميات STL
static_assert(t);
noexcept(t)
ملاحظات إضافية:لا يُسمح بتضييق التحويلات من الأعداد الصحيحة بخلاف 0 و1 في اختبارات وقت الترجمة (C 26 وما بعده).
الخلط يمكن أن تؤدي عوامل التحويل const وغير const إلى حدوث ارتباك.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3