كيف يمكنني منع نسخ كائنات الوزن؟
-
09-12-2019 - |
سؤال
أنا أتعلم باستخدام Flyweights Key_Value وكتبت الرمز التالي: giveacodicetagpre.
عندما أقوم بتشغيله، حصلت على إخراج Follwing: giveacodicetagpre.
أود تجنب النسخة الإضافية، لأن فو الحقيقي مكلفة للغاية للنسخ.هذا هو السبب الرئيسي أيضا في أنني أستخدم ثوب الوزن.إذن، هل هناك طريقة لتجنب النسخة الإضافية؟
المحلول
يجب أن لا تقلق بشأن ذلك، كما قد يقوم برنامج التحويل البرمجي بتحسين ذلك، في بعض الحالات، باستخدام RVO.استخدم خيارات المحول البرمجي لتمكين تحسين هذا الأمر كلما كان ذلك ممكنا.
وخاصة مع C ++ 11، يجب أن تقلق أبدا تقريبا حيال ذلك، لأنها قدمت نقل الدلالات التي لا تكلفك كثيرا حتى لو تم إنشاء بعض الكائنات المؤقتة أثناء الطيران في نمط الذبابة.
لا تنتمي إلى StackOverflow