"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل يمكن تهيئة std::array بشكل افتراضي؟

هل يمكن تهيئة std::array بشكل افتراضي؟

تم النشر بتاريخ 2024-12-21
تصفح:597

Can std::array be Default-Initialized?

هل يمكن تهيئة std::array بشكل افتراضي؟

من خلال الإعلان عن متغير كـ std::array x; ، يمكنك ضمان تهيئة جميع عناصره افتراضيًا. وفقًا لمعيار لغة C 11 (الفقرة 8.5/11)، فإن أي كائن لا يحتوي على مُهيئ صريح تتم تهيئته افتراضيًا.

ومع ذلك، يجب أن تدرك أن التهيئة الافتراضية ليس لها أي تأثير على العناصر غير الفئوية وغير الفئوية. أنواع المصفوفات (§8.5/6)، مع ترك قيمها غير محددة. على سبيل المثال، المصفوفة التي تمت تهيئتها افتراضيًا من هذه الأنواع سيكون لها قيم غير محددة.

Value-Initialization of Arrays

إذا كنت ترغب في تهيئة جميع عناصر المصفوفة إلى قيمة معينة القيمة T{}، هذه ليست تهيئة افتراضية ولكنها تهيئة القيمة (8.5/7). يمكنك تهيئة المصفوفات بسهولة في لغة C 11 باستخدام المُهيئات الفارغة:

int plain_int{};
int c_style_array[13]{};
std::array cxx_style_array{};

سيؤدي هذا إلى تهيئة القيمة لجميع عناصر المصفوفة، مما يؤدي إلى قيمة ثابتة قدرها 0 للأعداد الصحيحة والقيم الافتراضية لأنواع البيانات الخاصة بها.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3