回答重点 什么是左值?什么是右值? 左值: 可以出现在赋值运算符的左边,并且可以被取地址,通常是有名字的变量。右值: 不能出现在赋值运算符的左边,不可以被取地址,表示一个具体的数据值,通常是常量、临时变量。 区分左值和右值的核心在于有没有持久的地址 左值: 可以取地址并且有名字的东西就是左值。右值: 不能取地址的没有名字的东西就是右值。 示例: int a = b + c; 这里 a
原链接:https://blog.csdn.net/hyman_yx/article/details/52044632 左值、右值 在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值(将亡值或纯右值)。举个例子,int a = b+c, a 就是左值,其有变量名为a,通过&a可以获
前言 由于不同的文章和书籍,对左值和右值的区分皆有不同,这里我只是给自己定了一个逻辑可以自洽的标准,供自己去区分左值和右值,所以本篇博客,属于一个笔记。 C++ primer对左值和右值的介绍 C++中的表达式:要么是左值,要么是右值。而左值和右值是从C语言中继承过来的,在C语言中,为了帮助记忆,可以简单的认为左值可以位于赋值语句的左侧,右值则不能。这