为什么C++中const变量是左值?

23 浏览
0 Comments

为什么C++中const变量是左值?

这个问题已经有答案了:

什么是rvalue、lvalue、xvalue、glvalue和prvalue?

我是通过这个页面开始学习C++的。

rvalue和lvalue的概念对我来说很困惑,特别是这个:

注意:const变量被视为不可修改的lvalue。

我不理解const变量怎么会是lvalue。在实践中,有没有使用const变量作为lvalue的示例代码?我看不出rvalue和不可修改的lvalue之间有任何区别。

admin 更改状态以发布 2023年5月24日
0
0 Comments

假设你有以下语句

const int con=10;     //con is non-modifiable l-value

  • 你无法修改con的值。
  • 但是con有地址(&con)。

因此它是一个不可修改的左值。

代码:

#include
int main(void)
{
    const int con=10; //con is non-modifiable l-value
    std::cout<

0