سؤال

غوغلينغ لا تجد أي شيء. هل تم إنشاؤها عند نقطة الاستخدام ، أم أن الأجزاء العامة مشتركة بين الحالات؟

(نفس الشيء بالنسبة لفصول القالب؟)

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

المحلول

يتم إنشاء وظائف القالب في وقت الترجمة. خاصية القالب متعامد تمامًا مع سلامة الخيط.

نصائح أخرى

لا يوجد أكثر من آمن أو أقل من أي نوع آخر من الوظائف.

الطريقة الوحيدة التي يمكنني التفكير بها في سلامة الخيوط التي تتأثر بذلك هي أنه إذا someMethod<typename T>() لم يكن موضوعًا آمنًا ، فلا يزال من الجيد أن يعمل مؤشر ترابط someMethod<int>() بينما عمل آخر someMethod<std:string>(), ، طالما أن عدم وجود سلامة مؤشرات الخيط لم يأت من دعوتهم إلى بعض الوظائف غير المنفذة.

إن الموقف الذي يضمن فيه شيء آخر أن يقوم مؤشر ترابط واحد فقط هو القيام بمهمة معينة بنوع معين في وقت واحد يبدو غير مرجح إلى حد ما.

وظائف القالب هي ببساطة ... قوالب يستخدمها التحويل البرمجي لإنشاء وظائف "طبيعية". لذلك هو نفس الوظائف العادية ، لا يوجد فرق.

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