复合语句:用花括号({})将多条语句组合在一起,以创建复合语句 使用运算符: 赋值运算符( = ), 加( + )减( - )乘( * )除( / )和求模运算符(%)(最后这个书里是这么写,我感觉是相当于delphi的mod) 递增运算符(++) 递减运算符(--) 后缀运算符是 先将右值赋给左值 ...
分类:
编程语言 时间:
2018-01-05 01:24:59
阅读次数:
154
1)引用的实质:是一段连续存储空间的别名,是一个标号(门牌号) 2)通过变量来申请并命名内存空间 3)通过变量的名字可以使用存储空间 4)对一段连续的内存可以取很多的别名。 然后我想叫re成为别的引用 注意: &符号前要是有类型,就是 引用, 否则都是 取地址 引用所占的大小和指针相等 因为引用要初 ...
分类:
其他好文 时间:
2018-01-02 23:24:38
阅读次数:
198
我的理解 引用是一个左值,而常量引用是一个右值。两者最关键的地方在于,左值可以被取到地址,而右值取不到地址,这个性质就决定了右值不能在 “=” 的左侧。 从汇编角度去理解这个问题的话,就很好理解了,左值是一个内存单元里的数据,我们可以直接寻址找到它,而右值是一个立即数或者是寄存器里的值。 C与C++ ...
分类:
其他好文 时间:
2018-01-01 19:37:38
阅读次数:
173
C 变量 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C 是大小写敏感的。基于前 ...
分类:
其他好文 时间:
2017-12-13 19:40:31
阅读次数:
136
1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。 2、引用 引用是C++语法做的优化,引用的本质还是 ...
分类:
其他好文 时间:
2017-12-10 18:27:26
阅读次数:
125
1.左值和右值 左值:非临时对象,可以在多条语句里面使用的对象。 右值:临时对象,只能在本条语句里面使用。 如:int i = 0;//i是持久对象,能在多条语句里面使用,0是临时对象,只能在本条语句里面使用 2.左值引用和右值引用 在C++11以前,右值不能被引用,最大限度就是用常量引用绑定一个右... ...
分类:
移动开发 时间:
2017-12-02 21:11:28
阅读次数:
252
1.赋值运算符 赋值使用操作符“=”。它的意思是“取右边的值(即右值),把它复制给左边(即左值)”。右值可以是任何 常数、变量或者表达式 (只要它能 生成 一个值就行)。但左值必须是一个明确的,已命名的变量。也就是说,必须有一个物理空间可以存储等号右边的值。分类 基本数据类型 与 类数据类型 的不同 ...
分类:
编程语言 时间:
2017-12-01 22:12:37
阅读次数:
220
a++ 和 ++a 的区别 1)首先说左值和右值的定义: 变量和文字常量都有存储区,并且有相关的类型。区别在于变量是可寻址的(addressable)对于每一个变量都有两个值与其相联: 1).它的数据值,存储在某个内存地址中。有时这个值也被称为对象的右值(rvalue,读做are-value).我们 ...
分类:
其他好文 时间:
2017-12-01 21:57:57
阅读次数:
183
访问成员函数返回的是引用,front,back,at,和下表,如果一个容器是const,返回的则是const的引用,如果容器不是const,则返回的是普通引用。 是否返回的是引用,关键是看表达式在左值还是在右值,如果在右值,返回的就是元素的一个拷贝,如果在左值,返回的是一个引用对象。 在使用auto ...
分类:
编程语言 时间:
2017-11-27 17:26:46
阅读次数:
163
前言 为了了解C++11的新特性右值引用,不得不重新认识一下左右值。学习之初,最快的理解,莫过于望文生义了,右值那就是赋值号右边的值,左值就是赋值号左边的值。在中学的数学的学习中,我们理解的是,左值等价于等号左边的值,右值等价于等号右边的值;当我们继续学习C语言时,等号=不再叫等号,盖头换面叫做赋值 ...
分类:
编程语言 时间:
2017-11-21 17:02:01
阅读次数:
239