سؤال

أنا أتعلم باستخدام Flyweights Key_Value وكتبت الرمز التالي: giveacodicetagpre.

عندما أقوم بتشغيله، حصلت على إخراج Follwing: giveacodicetagpre.

أود تجنب النسخة الإضافية، لأن فو الحقيقي مكلفة للغاية للنسخ.هذا هو السبب الرئيسي أيضا في أنني أستخدم ثوب الوزن.إذن، هل هناك طريقة لتجنب النسخة الإضافية؟

هل كانت مفيدة؟

المحلول

يجب أن لا تقلق بشأن ذلك، كما قد يقوم برنامج التحويل البرمجي بتحسين ذلك، في بعض الحالات، باستخدام RVO.استخدم خيارات المحول البرمجي لتمكين تحسين هذا الأمر كلما كان ذلك ممكنا.

وخاصة مع C ++ 11، يجب أن تقلق أبدا تقريبا حيال ذلك، لأنها قدمت نقل الدلالات التي لا تكلفك كثيرا حتى لو تم إنشاء بعض الكائنات المؤقتة أثناء الطيران في نمط الذبابة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top