大家好.又和大家见面了.最近因为公司比较忙..没时间和大家讨论问题...但是还是有许多发烧友过来和俺提问..我没办法一 一
回答,只能抽取一些问的比较多的了来回答大家..在此也请各位多多包涵...废话不多说..进入主题
在所有的面向对象语言中都有引用这个概念..在C++中所有的引用都能用指针去实现..可是问题就来了..指针和引用到底有什么
区别?
我们来分析下..指针的概念. 指针是什么? 这就要说下内存硬件了..话说.当内存条插到电脑上...操作系统就管理这个内存条.为
这个内存条分配很多的小单元格子,每一个单元格子都有一个标示位(这就是我们说的地址),而指针就是地址...我们在C/C++中所定义的都是
指针变量,该变量就是用来保存地址的(指针),
我们在来分析下.引用的概念...什么是引用? 引用其实也是引用对象的地址。。。也就是说 A 引用 B,那么A和B所指向的就是同
一个对象,既然是指向都是同一个对象。。那么和指针一样。A修改了值。B也就是修改了
上面我说的两个概念看起来都差不多有共同的特征。那么我们下面就用实例来帮助大家来理解这两个概念。
他们的区别有两点
1.指针变量是可以定义时不初始化的,而引用只能在定义的时候初始化(必须)
2. 指针变量所指向的内存空间(地址)是可以改变的,引用是不能改变的(意思是 初始化指向谁,那么到死也就是指向谁)
3.指针变量在16位机器上(或者某些编译器)所占的内存空间是2个字节,在32的是4个字节,而引用所占的