根据http://en.cppreference.com/w/cpp/language/move_constructor; “一个类可以有多个移动构造函数,例如T::T(const T&&)
和T::T(T&&)
”
何时想要将常量右值传递给move-constructor?
答案 0 :(得分:1)
简短的回答是“从不”。
但是,您确实可以编写如下函数:
Foo const f();
现在Foo x = f();
之类的内容会使用Foo const &&
构造函数(如果可用)。但它也会愉快地绑定到Foo const &
构造函数,并且因为两个引用都是常量,所以实际上不需要rvalue版本。
特别是,关于那个构造函数没有什么“移动”,因为正如我们所建立的那样,引用是不变的。