在这条线上(
Should I return an rvalue reference parameter by rvalue reference?
The parameter cannot be a temporary (which is just what rvalue references represent)
.
如果我能很好地理解这句话,这个代码应该是不正确的
#include <string>
#include <iostream>
std::string &&f(std::string &&a) {
return std::move(a);
}
int main() {
std::string a = f("lol");
std::cout << a << std::endl;
return 0;
}
std::get
标准::获取
使用临时元组。
所以,我想我误解了上面的句子,前面的代码是正确的。然而,这一点并不正确:
#include <string>
#include <iostream>
std::string &&f(std::string &&a) {
return std::move(a);
}
int main() {
std::string &&a = f("lol");
std::cout << a << std::endl;
return 0;
}