码迷,mamicode.com
首页 > 其他好文 > 详细

值类型和引用类型

时间:2015-08-08 18:14:21      阅读:85      评论:0      收藏:0      [点我收藏+]

标签:

内存中主要分为两块空间: 栈空间和堆空间。他们都是用来存储数据的。不同类型的数据存储在不同的地方.
 
一、值类型和引用类型划分依据:他们在内存中存储的结构不同.。
 
二、值类型:所有的数值类型、char、bool、枚举、结构
  引用类型:string 数组 类
 
三、局部变量及成员变量:
  3.1、局部变量:
      相同点: 无论局部变量是值类型的还是引用类型的,那么这个局部变量始终是开辟在栈空间中的.
      不同点: 值类型变量的真实的值,直接存储在栈空间中的变量中.
                 引用类型的变量,对象是存储在堆空间中的,栈空间中的变量中存储的是对象在堆空间中的地址.
  3.2、成员变量:
  成员变量除于对象。无论这个成员变量是值类型的还是引用类型,都跟着对象一起开辟在堆空间中。这个成员变量存储值的原理和局部变量一样。
 
四、变量之间相互赋值的效果
      无论是什么类型的变量之间相互赋值。将源变量中的值拷贝一份,将这个副本赋值给目标变量。
      不同点在于:
         值类型:因为值类型的变量中存储的是真实的值,所以拷贝传递的也是真实的值。赋值完成以后,对一个变量的修改不会影响另外的1个变量的值。
         引用类型:因为引用类型的变量中存储的是对象的地址,所以拷贝传递的也是地址。赋值完毕以后,两个变量指向了同一个对象。对1个变量进行修改对另外的变量有影响。

值类型和引用类型

标签:

原文地址:http://www.cnblogs.com/huanhuan0624/p/4713532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!