मैं अपनी परियोजना को C++ 11 में माइग्रेट कर रहा हूं और मैं यथासंभव मानक लाइब्रेरी का उपयोग करने की कोशिश कर रहा हूं।टेम्पलेट फ़ंक्शन के लिए 'typedef' (boost :: make_shared)
माइग्रेशन को अंतिम रूप देने से पहले, मुझे shared_ptr
(बेंचमार्क, यूनिट परीक्षण आदि करने के लिए) के बूस्ट और एसटीएल कार्यान्वयन के बीच फ़्लिप करने का एक त्वरित तरीका चाहिए।
तो मैं shared_ptr
इस तरह के लिए एक उपनाम परिभाषित:
#ifdef _USE_BOOST_
template <class C>
using shared_ptr = boost::shared_ptr<C>
#else
template <class C>
using shared_ptr = std::shared_ptr<C>
#endif
अब मैं make_shared
के लिए भी ऐसा ही करने की आवश्यकता है ... लेकिन कैसे? मैक्रो? एक रैपर? मुझे वास्तव में उनमें से कोई भी पसंद नहीं है। विकल्प क्या हैं?
तुम बहुत पसंद है, लेकिन एक त्वरित आवरण लिखने के लिए नहीं है। – Puppy