一、值类型,引用类型 1、值类型:所有数值类型是值类型(int,float,double,枚举,布尔类型,结构,引用的地址,...等数值型值) A、所有的值类型是储存在栈里面。 B、值类型的赋值,就是值的拷贝。 2、引用类型:对象,字符串,object,数组,...等有复杂模型的值 A、引用类型的值...
Lvalue and Rvalue Referenceint a = 10;// a is in stackint& ra = a; // 左值引用int* && pa = &a; // 右值引用,指针类型的引用右值引用:用的是计算机CPU(寄存器)的值 或 内存的值。左值引用:必须是内存的值。
分类:
编程语言 时间:
2015-10-25 16:12:52
阅读次数:
138
欢迎大家阅读参考,如有错误或疑问请留言纠正,谢谢
一、引用
1、引用是给一个变量起别名
变量:
名称
空间
引用:
引用不是变量
引用仅仅是变量的别名
引用没有自己独立的空间
引用要与它所引用的变量共享空间
对引用所做的改变实际上是对它所引用的变量的改变
引用在定义的时候必须要进行初始化
...
分类:
编程语言 时间:
2015-09-30 16:36:49
阅读次数:
240
C++11中引入的一个非常重要的概念就是右值引用。理解右值引用是学习“移动语义”(move semantics)的基础。而要理解右值引用,就必须先区分左值与右值。注意:左值右值翻译可能有些问题 *L-value中的L指的是location,表示可寻址。 *R-value中的R指的是r...
分类:
编程语言 时间:
2015-09-30 14:35:16
阅读次数:
187
1:栈就是堆栈,因为堆和堆栈这样说太拗口了,搞得像绕口令,所以有些时候就把堆栈简称为栈。堆和栈,你看这又多舒服。但无论什么时候,堆栈都不等于堆和栈,必须说,堆和栈或者堆和堆栈。2:值类型变量和引用类型变量是保存在栈里面的。而值类型变量保存值类型实例的值,引用类型变量保存引用类型实例的引用。对象的引用...
基本类型:基本类型自然不用说了,它的值就是一个数字,一个字符或一个布尔值。引用类型:是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。举例说明:int a;a=250; //声明变量a的同时,系统给a分配了空间。引用类型就不是了,只给变...
分类:
编程语言 时间:
2015-09-21 14:11:13
阅读次数:
198
引用与指针的异同1. 指针和引用的实质 同:都指向变量的内存地址 异:指针是地址变量;引用是地址常量2. 指针和引用的内存分配情况 指针分配单独的内存空间,存放指向的变量的地址;引用仅是变量的别名,和变量共享内存空间。3. 指针和引用的使用方式 1)指针可修改指向的变量地址,即重新赋值;引用...
分类:
其他好文 时间:
2015-09-18 11:35:52
阅读次数:
221
左值右值是表达式的属性,该属性称为 value category。按该属性分类,每一个表达式属于下列之一:lvalueleft value,传统意义上的左值xvalueexpiring value, x值,指通过“右值引用”产生的对象prvaluepure rvalue,纯右值,传统意义上的右值.....
分类:
其他好文 时间:
2015-09-17 21:28:40
阅读次数:
269
1. 左值和右值左值是表达式结束之后仍然存在的持久化对象,而右值是指表达式结束时就不再存在的临时对象。c++11中,右值分为两种类型:将亡值(xvalue, expiring value),另一个是纯右值(prvalue, pure rvalue). 非引用返回的临时变量、运算表达式产生的临时变量、...
分类:
编程语言 时间:
2015-09-13 21:34:28
阅读次数:
270
参数传递基本数据类型是复制值,引用数据类型是复制引用。因此传递引用作为参数后可以通过引用的方法改变其字段,但改变形参(引用)本身,不会改变实参(引用)本身。......int [] b = new int[2];modify(b);//b still --->int[2]}void modify(i...
分类:
编程语言 时间:
2015-09-11 17:23:45
阅读次数:
140