小白的C++ primer学习笔记,欢迎指正。
1. 基本概念
表达式:由一个或多个运算对象组成,对表达式求值将得到一个结果。字面值和变量是最简单的表达式,结果是字面值和变量的值。把一个运算符和一个或多个运算对象组合起来可以生成较复杂的表达式。
左值和右值是从C语言继承过来的,原本是为了帮助记忆。左值可以位于赋值语句的左侧,右值不能。
在C++中,将左右值的概念做一个简单归纳:当一个对象被用作右值的时候,用的是对象的值(内容);当对象被用作左值的时候,用的是对象的而身份(在内存中的位置)。
不同运算符对运算对象的要求不同,一个重要的原则是(有一个例外,挖坑待填),在需要右值的地方可以用左值替代,但不能把右值当成左值使用。
未完待续...
关于右值引用,以后会发布笔记。现在不发布是因为我还没学到😂。
参考资料
C++ Primer 中文版(第五版)
Understanding lvalues and rvalues in C and C++ - Eli Bendersky's website (thegreenplace.net)