C++ std 移动文件错误?
C++ std move document error?
我指的是document。两种形式都有 r 值参考作为输入 (T&& t
).
但是我们可以将左值作为move
的参数,在我下面的例子中,a是一个左值,它是可识别和内存寻址的。
有没有想过文件有误?
#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-value 参考。它是前向引用,以前称为通用引用,是与模板或自动参数一起使用时的特殊情况。在这里阅读这个很好的解释 https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers
我指的是document。两种形式都有 r 值参考作为输入 (T&& t
).
但是我们可以将左值作为move
的参数,在我下面的例子中,a是一个左值,它是可识别和内存寻址的。
有没有想过文件有误?
#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-value 参考。它是前向引用,以前称为通用引用,是与模板或自动参数一起使用时的特殊情况。在这里阅读这个很好的解释 https://isocpp.org/blog/2012/11/universal-references-in-c11-scott-meyers