ऐसा लगता है कि सी ++ और डी में, जो भाषाएं स्थिर रूप से संकलित होती हैं और किस टेम्पलेट मेटाप्रोग्रामिंग एक लोकप्रिय तकनीक है, वहां टेम्पलेट इंस्टेंटेशन ब्लोट के बारे में चिंता का एक अच्छा हिस्सा है। यह मुझे बहुत संसाधन-बाधित एम्बेडेड सिस्टम को छोड़कर, ज्यादातर सैद्धांतिक चिंता की तरह लगता है। एम्बेडेड स्पेस के बाहर, मैंने अभी तक यह दिखाने में सक्षम होने का एक उदाहरण सुना है कि यह अभ्यास में एक समस्या थी।प्रैक्टिस में टेम्पलेट इंस्टेंटेशन ब्लोट पदार्थ कब मायने रखता है?
किसी के गंभीर रूप से सीमित संसाधनों एम्बेडेड सिस्टम के बाहर एक उदाहरण प्रदान कर सकते हैं जहां टेम्पलेट इन्स्टेन्शियशन ब्लोट अभ्यास में अहमियत और औसत दर्जे का, व्यावहारिक रूप से महत्वपूर्ण नकारात्मक प्रभाव पड़ा?
यह काफी सच नहीं है करने के लिए - संकलक विभिन्न कार्यों 'च (हस्ताक्षरित पूर्णांक)' और 'च <अहस्ताक्षरित int> (अहस्ताक्षरित int)' के लिए समान कोड उत्पन्न कर सकता है, और probabl y ध्यान नहीं देगा कि वे समान हैं। जबकि इसे मैन्युअल रूप से लिखना आपको केवल उन कार्यों में से एक प्राप्त होगा। –
आदर्श रूप से आपको एक कंपाइलर/लिंकर का उपयोग करना चाहिए जो डुप्लिकेट जेनरेट असेंबली कोड को पहचानता और हटा देता है। विजुअल स्टूडियो वह करता है (COMDAT तह)। – vividos
यह सच है यदि आप जेनिक्स के रूप में टेम्पलेट का उपयोग कर रहे हैं। लेकिन यदि आप टेम्पलेट्स के साथ मेटाप्रोग्रामिंग कर रहे हैं तो यह सच नहीं है। मेटाप्रोग्रामिंग में उपयोग किए गए टेम्पलेट्स सभी प्रकार के पागल इंटरमीडिएट प्रकारों को तुरंत चालू कर सकते हैं जिनकी आपको वास्तव में आवश्यकता नहीं है। मुझे लगता है कि बढ़ावा :: भावना पार्सर जेनरेटर इसका एक अच्छा उदाहरण हो सकता है। – Baxissimo