【发布时间】:2020-09-16 20:11:33
【问题描述】:
我的理解是const T& 是通过const T *const 在内部实现的。如果是这样,下面的代码如何有效(因为我们不能取 7 的地址)?
const int& i = 7;
或者编译器在这里做了什么?如果有,是什么?
【问题讨论】:
-
你的理解是错误的。
-
引用在内部实现以满足其规范。是否涉及到指针与判断代码是否有效无关,只是说
-
别忘了As-if Rule。如果您无法分辨出可观察行为的差异,编译器会尽一切努力为您提供更快的程序。
标签: c++ move-semantics value-categories