从左值构造函数调用右值构造函数
call rvalue-constructor from an lvalue-constructor
我只想为左值和右值提供一次构造函数定义。
class A;
class B {
B(A const& a): B(A(a)) {}
B(A&&);
};
B::B(A&&)
是否保证被B::B(A const&)
调用?
是的,因为您要委托给具有类型 A
的单个临时参数的构造函数,右值是一个 xvalue。
我只想为左值和右值提供一次构造函数定义。
class A;
class B {
B(A const& a): B(A(a)) {}
B(A&&);
};
B::B(A&&)
是否保证被B::B(A const&)
调用?
是的,因为您要委托给具有类型 A
的单个临时参数的构造函数,右值是一个 xvalue。