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;
};
質問>私はレガシープロジェクトで上記のような多くのコードを見ました。 私は本当にそのようなことを理解していません。 なぜ単に代わりに以下を提供していない:なぜ2つのゲット関数を提供するのですか?
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オブジェクトが事故によってTを変更させないということかもしれません。そのような場合には、そのようなすべての機能が2つのバージョンを提供することが練習ですか?私にとっては、とても退屈な気がする!