【发布时间】:2014-10-29 17:16:38
【问题描述】:
如果将临时的Derived 传递给采用Base&& 的方法,是否可以从中移动-构造 Base?
【问题讨论】:
-
这取决于移动构造对您的
Base类型的影响。如果它使Derived对象处于有效状态,那么是的。否则,不。 -
清空子对象对我来说似乎很可疑。封闭对象销毁(在表达式评估结束时)是否正常,子对象为空?
-
如果您为您的类型编写的移动构造代码使其处于有效状态,那么可以。否则,不。
-
@MikeSeymour:“有效状态”定义不明确。
-
@LightnessRacesinOrbit:我的意思是这个词在任何关于移动语义的讨论中的含义;能够被销毁(并重新分配,如果类型是可分配的)。
标签: c++ move base-class