मैं वर्तमान में स्मार्ट पॉइंटर्स के उपयोग को पेश करके हमारे कोड बेस में कुछ कमजोरियों को ठीक करने की कोशिश कर रहा हूं। कोड बेस बहुत बड़ा है, और एक मकड़ी की तरह अंतःस्थापित है जिसकी कई कॉफी है।बूस्ट :: shared_ptr को मौजूदा (बड़े) C++ कोडबेस में कैसे पेश किया जाए?
मैं सोच रहा था कि क्या लोगों ने पहले कोशिश की थी और उनका दृष्टिकोण क्या था।
मेरा पहला कदम टाइपिफ़ वर्गों के लिए निम्नानुसार है।
#ifndef USE_SMART_POINTERS
#define USE_SMART_POINTERS 0
#endif
#if USE_SMART_POINTERS == 1
#include <boost/smart_ptr.hpp>
#endif
namespace ProductX
{
// forward decleration
class CTObject;
//typedefs
#if USE_SMART_POINTERS == 1
typedef boost::shared_ptr<CTObject> CTObjectPtr;
#else
typedef CTObject* CObjectPtr;
#endif
}
अब मैं इस तरह
CTObjectPtr i = NULL;
को पूरी तरह से बोर्क जब स्मार्ट संकेत सक्षम हैं, करेंगे संकलन क्षेत्रों बातों का खजाना के लिए नेतृत्व करेंगे एहसास।
मैं सोच रहा था कि संकलन त्रुटियों के द्रव्यमान को कम करने के लिए मैं इस शुरुआती चरण में कुछ भी कर सकता था, या ऐसा लगता है कि मुझे लगता है कि मामले के आधार पर चीजों को केवल मामले में लेना है। typedefs मेरा मतलब है:
चीयर्स रिच
कोड की संपत्ति को देखते हुए मुझे लगता है कि आप सही हैं। मुझे पागल कोड खोपड़ी पर जाने के लिए धन्यवाद। – Rich