いくつかのコードをリファクタリングしているときに、std::string を返す getter メソッドに出くわしました。たとえば、次のようなものです。
class foo
{
private:
std::string name_;
public:
std::string name()
{
return name_;
}
};
const std::string&
確かに、ゲッターは?を返す方が良いでしょう。現在のメソッドは効率的ではないコピーを返しています。代わりに const 参照を返すと問題が発生しますか?