बूस्ट में कई जगहें हैं जहां मुझे एक टेम्पलेटेड क्लास दिखाई देती है और मदद नहीं कर सकती है, लेकिन सोचें कि जिस व्यक्ति ने इसे लिखा है वह टेम्पलेट्स का उपयोग क्यों करता है।इतनी तेजी से क्यों बढ़ रहा है?
उदाहरण के लिए, म्यूटेक्स क्लास (एसएस)। सभी म्यूटेक्स अवधारणाओं को टेम्पलेट्स के रूप में कार्यान्वित किया जाता है जहां कोई अवधारणा से मेल खाने वाले इंटरफेस के साथ कुछ बेस क्लास या अमूर्त कक्षाएं बना सकता है।
उत्तर के बाद संपादित करें: मैंने वर्चुअल फ़ंक्शंस की लागत के बारे में सोचा था, लेकिन कभी-कभी बेहतर समझ के लिए बहुत कम प्रदर्शन दंड देने के लायक नहीं है? मेरा मतलब है कभी-कभी (विशेष रूप से बढ़ावा देने के साथ) templated कोड को समझना और टेम्पलेट्स का दुरुपयोग करने के परिणामस्वरूप संकलक त्रुटियों को डिक्रिप्ट करना वाकई मुश्किल है।
इस लड़के के लिए अच्छा सवाल होगा: http://stackoverflow.com/users/5597/anthony-williams (boost.thread के लेखक): पी –
सी ++ समुदाय का मुख्य दर्शन यह है कि "आप केवल यही प्राप्त करते हैं आप मांगते हैं"। बूस्ट प्रोजेक्ट टेम्पलेट का उपयोग करके सभी पुस्तकालयों को डिजाइन करके उस दर्शन का पालन करने के लिए, एसटीएल की तरह ही कोशिश कर रहा है। हालांकि, एक लागत है, जैसा कि आप उल्लेख करते हैं: समझ कभी-कभी पीड़ित होती है। यदि आप एक पुस्तकालय चाहते हैं तो आप आसानी से समझ सकते हैं, शायद आपको क्यूटी लाइब्रेरी पर एक नज़र रखना चाहिए। इसमें बूस्ट क्या करता है, और बहुत कुछ है! मेरी राय में, क्यूटी के डिजाइन बड़े पैमाने पर सी ++ विकास के लिए अनुमति देते हैं, कुछ बूस्ट पूरी तरह से कमी है। –