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

لماذا تعمل مراجع Const على إطالة عمر المؤقتات في لغة C++؟

تم النشر بتاريخ 2024-11-07
تصفح:559

Why Do Const References Extend the Lifetime of Temporaries in C  ?

تمديد عمر Rvalue بواسطة مراجع Const

في لغة C ، لا تعمل المراجع الثابتة كأسماء مستعارة غير قابلة للتغيير فحسب، بل تعمل أيضًا على إطالة عمر المؤقتات. لماذا قررت لجنة C تنفيذ هذا السلوك؟

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

تاريخيًا، كان قرار تمديد عمر rvalue ينبع من الرغبة في معالجة التناقضات في كيفية تم التعامل مع المراجع المؤقتة في عام 1993. في ذلك الوقت، لم يكن RVO (تحسين قيمة الإرجاع) موجودًا. إن حظر ربط المؤقتات بالمراجع كان من شأنه أن يعاقب الأداء بشكل كبير. وهكذا، اختارت اللجنة حلاً يسمح بالربط مع تمديد عمر المؤقتات لضمان توفرها أثناء الاستخدام المرجعي.

تم توثيق هذا الأساس المنطقي في الاقتراح N0345.pdf، المقدم إلى لجنة معايير C في عام 1993 من خلال إطالة عمر قيم r، تعمل مراجع const على تسهيل التجريد بشكل أفضل، والحفاظ على مرونة التعليمات البرمجية، وتحسين الأداء عند إرجاع الكائنات من الوظائف.

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

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

Copyright© 2022 湘ICP备2022001581号-3