繁体   English   中英

C ++ std移动文件错误?

[英]C++ std move document error?

这是我要参考的文档 两种形式都有r值参考作为输入( T&& t )。

但是我们可以将l值作为move参数,在我的下面的示例中,a是一个l值,它是可识别且可寻址的。

有没有想到文件是错误的?

#include <iostream>

int main() {
    string a = "hello";
    string b(std::move(a));
    std::cout << "a is: " << a << endl;
    std::cout << "b is: " << b << endl;
}

输出,

a is: 
b is: hello

T&& t不是r值参考。 它是前向引用,以前称为通用引用,是与模板或自动参数一起使用时的特殊情况。 在这里阅读这个很好的解释https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM