सरल तथ्य यह है कि कई, यदि अधिकांश नहीं हैं, तो सी ++ उपयोगकर्ता शायद ही समझ सकते हैं जो इससे vectorबेहतर है mallocऔर freeइसलिए, वह संख्या जो न केवल सराहना कर सकती है, बल्कि उन्नत टेम्पलेट मेटाप्रोग्रामिंग को लागू करने के लिए बहुत अधिक नहीं है। इसका मतलब यह है कि भले ही यह 90% स्थितियों के लिए अच्छा था, आप इसे बहुत कम में देखेंगे, सिर्फ इसलिए क्योंकि लोग इसके बारे में नहीं जानते हैं या इसका उपयोग कैसे करें।
हालांकि, आभासी कार्यों करते फायदे हैं, अर्थात्, आभासी कार्यों ज्यादा CRTP से उपयोग करने के लिए आसान है। C ++ टेम्प्लेट लगभग किसी भी चीज और हर चीज के बारे में कुतिया होने के लिए कुख्यात हैं, और शामिल किए जाने वाले मॉडल गेंदों को चूसते हैं।
हालांकि, वे [आभासी कार्य] विशिष्ट रूप से धीमे और कम शक्तिशाली हैं। उदाहरण के लिए, मैं अभी CRTP का उपयोग कर कोड लिख रहा हूं, जहां आप अभिव्यक्ति टेम्पलेट्स के साथ उपयोग के लिए ऑपरेटर ओवरलोड का वारिस करते हैं। वहाँ कोई रास्ता नहीं आभासी कार्यों संभवतः उस काम कर सकता है।