C++ PRIMER问题

weixin_40509263 2017-10-06 08:50:16
Quote类添加了下面两个函数

virtual Quote* clone() const &{return new Quote(*this);}
virtual Quote* clone() &&{return new Quote(std::move(*this));}

为什么第二个不能是:
virtual Quote* clone() &&{return new Quote(*this);}

难道函数用了&&限定就一定要先把*this转换成右值再进行操作?
但是改成第三个式子后程序可以正常运行。
所以为什么书上要用std::move(*this))?
...全文
78 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧