我意识到“你不能移动const对象”的常识并不完全正确.如果你宣布移动ctor为,你可以
X(const X&&);
完整示例如下:
#include <iostream> struct X { X() = default; X(const X&&) {std::cout << "const move\n";} }; int main() { const X x{}; X y{std::move(x)}; }
问:有什么理由让人想要这样的事吗?任何有用/实用的场景?