最近我在学习C++11的新特性。但是,关于右值我有一个问题没有完全理解。
考虑以下代码:
string getText ()
{
return "Fabricati diem";
}
string newText = getText();
调用 getText()
创建了一个r-value,该值被复制到 newText
变量中。但是这个r-value究竟存储在哪里?复制后会发生什么?
调用 getText()
会创建一个右值(r-value),该右值将被复制到newText
变量中。但是这个右值并没有固定的存储位置,它可能存在于寄存器中、堆上或栈上。在复制后,原始的r-value通常会被销毁。