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
不會讓const對象意外修改噸。如果是這樣的話,所有這些功能應該提供兩種版本的做法嗎?對我來說,我感到非常乏味!