RValue引用的堆栈大小是多少?
例如在这样的情况下:
struct A { /* ... */ };
A getA()
{
A temp;
return temp;
}
A&& a1 = getA() ;
我了解编译器会延长临时文件的生存期以匹配a1的生存期,因此我假设a1必须占用堆栈上A对象的大小。
将对象发送到获取RValue引用参数的函数时,该怎么办? 例如,在这种情况下:
void f1(A&& a) {
}
在堆栈上传递的内容的大小是多少?只是指针还是A的大小?