标签: c++ c++11 move-semantics overloading rvalue-reference
我想只为lvalue和rvalue提供一次构造函数定义。
class A; class B { B(A const& a): B(A(a)) {} B(A&&); };
B::B(A&&)保证B::B(A const&)是否会被{{1}}调用?
B::B(A&&)
B::B(A const&)
答案 0 :(得分:1)
是的,因为您委托的构造函数具有类型为A的单个临时参数,因此是一个值为xvalue的rvalue。
A