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

هل لدى أنواع C ++ المدمجة حقًا مُنشئات افتراضية؟

نشر في 2025-04-17
تصفح:470

Do C   Built-in Types Really Have Default Constructors?

"لا." ومع ذلك ، يمكن تهيئتها باستخدام بناء جملة تشبه مكالمات المنشئ. يظهر هذا التهيئة على النحو التالي: int x0 (5) ؛ // يبدو وكأنه مُنشئ افتراضي int x1 {5} ؛ // بناء جملة جديد للتهيئة الافتراضية

بينما تحاكي هذه التعبيرات مكالمات المنشئ ، فإنها تستدعي بالفعل تهيئة القيمة. تهيئة القيمة هي آلية تهيئة الأنواع البدائية إلى القيم الافتراضية التي تحددها نوعها. هذا واضح بشكل خاص مع بناء الجملة الجديد لـ Zero initialization:

int z0 = int () ؛ // يبدو وكأنه مُنشئ افتراضي int z1 = int {} ؛ // بناء جملة جديد للتصاريح الصدري أوضحت Stroustrup أنه على الرغم من أن الأنواع المدمجة لا تحتوي على مُنشئين بالمعنى التقليدي ، إلا أنها تعتبر مفاهيمية لديها منشئات بناءً على سلوك التهيئة. ومع ذلك ، فإن بناء جملة التهيئة الخاص بهم يخلق وهم هؤلاء المُنشئين ، مما يسمح لهم بتهيئة كما لو كانوا كذلك. يبرز هذا التمييز الفوارق في آليات تهيئة C ومرونة بناء الجملة.

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

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

Copyright© 2022 湘ICP备2022001581号-3