习题13.58
class Foo {
public:
Foo sorted() && ;
Foo sorted() const &;
private:
vector<int> data;
};
Foo Foo::sorted() &&
{
cout << "右值引用版本" << endl;
sort(data.begin(), data.end());
return *this;
}
Foo Foo::sorted() const &
{
cout << "左值引用版本" << endl;
//Foo f(*this);
sort(f.data.begin(), f.data.end());
//return f.sorted();
//return Foo(*this).sorted();
return f;
}
int main()
{
Foo f;
//auto k= f.sorted();
f.sorted();
return 0;
}