class T
{};
class AccessT
{
public:
boost::shared_ptr<const T> getT() const {return m_T;}
boost::shared_ptr<T> getT() {return m_T;}
private:
boost::shared_ptr<T> m_T;
};
प्रश्न> मैंने विरासत परियोजना में उपर्युक्त समान कोड देखे हैं। मैं वास्तव में ऐसा करने के बिंदु को समझ नहीं पा रहा हूं। क्यों नहीं बस के बजाय निम्न प्रदान करें:दो फ़ंक्शन प्रदान करें
class T
{};
class AccessTModified
{
public:
boost::shared_ptr<T> getT() const { return m_T; }
private:
boost::shared_ptr<T> m_T;
};
प्रारंभिक तर्क हो सकता है boost::shared_ptr<const T> getT() const
स्थिरांक वस्तु दुर्घटना से टी को संशोधित नहीं कर सकते हैं। यदि ऐसा है, तो क्या यह एक अभ्यास है कि ऐसे सभी कार्यों को दो संस्करण प्रदान करना चाहिए? मेरे लिए, मैं बहुत थकाऊ महसूस करता हूँ!