【发布时间】:2018-09-30 21:13:11
【问题描述】:
在尝试了解右值引用的工作原理时,我最终得到了这段代码:
int* iptr = nullptr;
int*&& irr = iptr;
编译上面的代码会报如下错误:
错误:对类型“int *”的右值引用无法绑定到类型的左值 'int *'
我理解这是正确的,但为什么下面的代码(我使用void* 而不是int* 绑定)编译没有任何问题?运行时行为是正确的还是我应该期待未定义的行为?
int* iptr = nullptr;
void*&& irr = iptr;
【问题讨论】:
标签: c++ c++11 language-lawyer rvalue-reference lvalue