我已经阅读了关于不同值类别的所有主要问题,但仍然不清楚在这种情况下,xvalues 与 prvalues 之间的区别。
我知道,像所有glvalues一样,xvalues的动态类型可以不同于静态类型,但是例如,在文字与std::move
文字的情况下,我找不到“真正的”行为差异(可能除了那些正式基于什么的xvalue 和什么是 prvalue,比如哪个构造函数将被调用MyClass(std::move(5))
;但对于文字来说,这似乎并不重要,因为它们的值无论如何都不会被使用。
我可以从调用std::move
文字中获得什么实际的“好处”?