从左值构造函数中调用rvalue-constructor

时间:2015-03-05 15:29:39

标签: 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}}调用?

1 个答案:

答案 0 :(得分:1)

是的,因为您委托的构造函数具有类型为A的单个临时参数,因此是一个值为xvalue的rvalue。