好吧,所以我一直在学习左值和右值 - 有人可以精通C/C++告诉我,如果我的思想是正确的?C++左值和右值
考虑代码:
int i = 3;
int j = i;
在这里,我们有两个左值i
和j
,当i
被分配到j
因为i
一个副本存储在j
它成为一个隐含的右值。然而,如果代码看起来像:
int i = 3;
int j = &i;
既能j
和&i
是左值,因为它们在内存物理地址?我理解的方式是右值是临时数据,而左值具有物理/可参考内存地址。
对此的任何澄清将是伟大的!
我推荐[Strachey(1967)](http://www.itu.dk/courses/BPRD/E2009/fundamental-1967.pdf),第2部分。 – molbdnilo
谢谢@molbdnilo - 我会检查该参考现在 – Alex