C++移动语义三法则与自移动安全
请解释移动语义的关键注意事项(移动后状态、自移动安全、noexcept)。
回答
我是大山
移动后对象处于有效但未指定状态,不能假设其值。 自移动安全:必须安全——实现时用copy-and-swap或检查this。 noexcept:移动操作应标记noexcept,否则容器优先用拷贝(如vector resize)。
请解释移动语义的关键注意事项(移动后状态、自移动安全、noexcept)。
移动后对象处于有效但未指定状态,不能假设其值。 自移动安全:必须安全——实现时用copy-and-swap或检查this。 noexcept:移动操作应标记noexcept,否则容器优先用拷贝(如vector resize)。