版权声明:本文为博主原创文章,未经博主允许不得转载。 由于右值所产生的临时变量问题一直是一种诟病,C++11中引入了右值引用这个核心语言机制,来提升运行期性能. 首先我先说明一下什么是左值和右值: 左值和右值都是针对表达式而言的,左值是指表达式结束后依然存在的持久对象,右值是指表达式结束时就不再存在 ...
分类:
其他好文 时间:
2017-07-25 00:52:48
阅读次数:
197
1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:它代表的值就是数值本身,而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:byte、short、int、lon ...
分类:
其他好文 时间:
2017-07-21 17:13:49
阅读次数:
134
总结:== 基本类型比较值,引用类型比较是不是同一个对象,也就是比较内存地址 equals 在没有覆盖的情况下是比较 引用的地址的 和 == 一样 hashcode 和equals关系: hashcode不一样,equals一定不一样;hashcodecode等 equals不一定等 ...
分类:
其他好文 时间:
2017-07-20 19:44:07
阅读次数:
116
值传递: 方法调用时,实际参数把它的值传递给对应的形式参数,函数接收的是原始值的一个copy,此时内存中存在两个相等的基本类型,即实际参数和形式参数,后面方法中的操作都是对形参这个值的修改,不影响实际参数的值。 引用传递: 也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法 ...
分类:
编程语言 时间:
2017-07-17 11:08:15
阅读次数:
221
引用与复制(传值与传值) 引用:对象、数组、函数 复制:数字、布尔、字符串 引用: 【注】函数的引用修改不起作用,只能赋值 ...
分类:
其他好文 时间:
2017-07-09 13:44:36
阅读次数:
140
在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放入容器中。原来的临时变量释放。这样造成的问题是临时变量申请的资源就浪费。 引入了右值引用,转移构造函 ...
分类:
其他好文 时间:
2017-07-09 12:39:05
阅读次数:
131
单引号: 在单引号中所有的特殊字符都没有特殊含义 双引号: 在双引号中 $ ` \ 三个字符表示,调用变量的值、引用命令、转义,其他特殊字符均没有特殊含义 反引号: 用反引号括起来的内容被当作系统命令处理,它和$()的作用一样 $() 和反引号作用一样,括号里的内容被当作系统命令处理 # 在Shel ...
分类:
系统相关 时间:
2017-07-07 00:55:05
阅读次数:
319
一、变量 (1)ECMAScript变量肯能包含两种不同的数据类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段,引用类型值指那些可能由多个值构成的对象。 (2)基本数据类型是按值访问,可以操作保存在变量中的实际的值;引用类型的值是保存在内存中对象,操作对象时,实际上是在操作对象的引用而 ...
分类:
编程语言 时间:
2017-07-06 21:23:29
阅读次数:
166
C#中把数据类型分为2种: 1. 值类型 - 存储在堆栈中,直接存储其值。 2. 引用类型 - 存储在托管堆上,存储对值得引用。 这种存储位置的不同会有不同的影响: 如果变量是一个引用,就可以把它值设置为null,表示它不引用任何对象。 把基本数据类型(int、bool)定义为值类型,把包含复杂字段 ...
分类:
其他好文 时间:
2017-06-23 00:44:29
阅读次数:
213
==与equals()equals()与hashCodeequals()与intern()StringBuilder.append()与String的“+”1.==比较2个内存单元的内容是否一样。基本类型如byte,int,char等就是直接比较它们的值。引用类型比较引用的值,即对象的逻辑地址,比较... ...
分类:
其他好文 时间:
2017-06-22 22:59:16
阅读次数:
126