据我所知,RVO可以实现临时和局部变量的复制,但数据成员呢?
为了集中这个问题,以下三个选项中哪一个是为数据成员编写const getter的最佳方法(给定RVO和C ++ 11)?
class Widget { /* some large user-defined class */ };
class C
{
public:
const Widget& getWidget1() const { return w; }
const Widget getWidget2() const { return w; }
Widget getWidget3() const { return w; }
private:
Widget w;
};