我在想是否有必要创建一个rvalue引用变量(不作为函数参数)?我理解当rvalue引用作为函数变量时的使用,可以避免不必要的分配等问题。但是,在非函数参数的情况下,是否存在使用rvalue引用变量的用例?最初,我认为这样的变量可以捕获传递的数据以供稍后使用,但是如果我们有一个rvalue引用变量,那么我们已经可以获取其地址,因此它就不能再是rvalue引用了。
我尝试了以下代码,结果(不出所料)无法编译。那么为什么我会想要创建一个rvalue引用变量呢?
我尝试了以下代码,结果(不出所料)无法编译。那么为什么我会想要创建一个rvalue引用变量呢?
void test(int&& a) {}
int&& a(22);
test(a);
谢谢!
std::move(a)
,它就可以编译。 - Quentin