В С++ 11 методы могут быть перегружены, независимо от того, является ли выражение, которое обозначает объект, на котором вызывается метод, lvalue или rvalue. Если я возвращу *this из метода, вызванного через rvalue, мне нужно явно move из *this или нет?
Foo Foo::method() &&
{
return std::move(*this); // Is this move required or not?
}
К сожалению, я не могу просто проверить это на моем компиляторе, так как g++ еще не поддерживает эту функцию: (