C++11 标准中的哪个子句支持下面函数 foo() 的返回中的移动构造函数调用?
#include <iostream>
class A
{
public:
A() { std::cout << "Ctor\n"; }
A(const A&) {std::cout << "Copy ctor\n";}
A(A&&) {std::cout << "Move ctor\n";}
};
A foo(A&& ra) { return std::move(ra); }
int main()
{
A a = foo(A());
}
我相信这个问题昨天已经关闭,现在它被“搁置”了,关闭的原因是它过于本地化。我很难理解 SO 中询问有关 C++11 标准的特定问题的帖子如何被视为“过于本地化”。对我来说,这是一个自相矛盾的术语,因为标准“事实上”是每个 C++ 程序员应该寻找的最终文档,以防对语言有疑问。