【发布时间】:2025-12-10 06:20:07
【问题描述】:
一段时间以来,这一直让我感到困惑。到目前为止,我还没有找到满意的答案。问题很简单。 move assignment operator 何时被调用,move constructor operator 何时被调用?
cppreference.com 上的代码示例产生了以下有趣的结果:
a2 = std::move(a1); // move-assignment from xvalue
A a2 = std::move(a1); // move-construct from xvalue
那么它与哪个实现有关?如果是这样,如果两者都实施,则执行哪个?以及为什么有可能创建一个移动赋值运算符重载,如果它是相同的。
【问题讨论】:
标签: c++ c++11 constructor move-semantics