相关疑难解决方法(0)

返回对象的const引用而不是副本

虽然重构了一些代码,但我遇到了一些返回std :: string的getter方法.像这样的东西例如:

class foo
{
private:
    std::string name_;
public:
    std::string name()
    {
        return name_;
    }
};
Run Code Online (Sandbox Code Playgroud)

当然吸气者会更好地回归const std::string&?当前方法返回的副本效率不高.会返回一个const引用会导致任何问题吗?

c++ const

70
推荐指数
5
解决办法
10万
查看次数

一般来说,STL容器的getter返回类型应该是什么?

可能重复:
访问者应该返回值还是常量引用?

首先,让我们忽略制定者和吸气者不是邪恶的.:)

我的问题是,如果我有一个std::容器作为成员的类,让我们说string,getter的返回类型应该是什么?我有点喜欢const T&相比,T性能方面的原因......我知道,大多数时候用户做一个拷贝反正,但我想不是所有的时间.我错了吗?

所以一般情况更好:

std::string get_name() const;
Run Code Online (Sandbox Code Playgroud)

要么

const std::string& get_name() const;
Run Code Online (Sandbox Code Playgroud)

c++ getter-setter

2
推荐指数
1
解决办法
579
查看次数

标签 统计

c++ ×2

const ×1

getter-setter ×1