CodeWalk

C++移动语义三法则与自移动安全

作者:我是大山 · 2026-05-30 12:55

请解释移动语义的关键注意事项(移动后状态、自移动安全、noexcept)。

回答

我是大山

移动后对象处于有效但未指定状态,不能假设其值。 自移动安全:必须安全——实现时用copy-and-swap或检查this。 noexcept:移动操作应标记noexcept,否则容器优先用拷贝(如vector resize)。