【发布时间】:2020-09-27 13:25:25
【问题描述】:
我有一个与 5 年前发布的类似性质的问题: Why are rvalues references variables not rvalue?
我最关心的是为什么我可以这样做:
int&& k = 3;
k++;
但我不能这样做:
(static_cast<int&&>(3))++;
我一直将右值引用解释为左值,因为右值引用变量是左值。但显然情况并非如此。有人可以向我解释为什么 (static_cast<int&&>(3))++; 会导致 using rvalue as lvalue 吗?
【问题讨论】:
标签: c++ rvalue-reference