【C++中的引用和指针】

1. 引用
C++是C语言的继承,它可以进行过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。引用就是C++对C语言的重要扩充。 引用就是某一个变量的别名,对引用的操作和对变量的操作完全一样。
引用的声明方法:类型标识符 &引用名 = 目标变量名;引用引入了对象的一个同义词。定义引用的方法与定义指针的方法相似,只是将*换成了&。
2. 指针
指针利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于能通过地找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”,意思是能通过它找到以它为地址的内存单元。
3. 区别

  1. 指针有自己的一块空间,而引用只是别名;
  2. 使用sizeof()看一个指针的大小为4,而引用则是被引用对象的大小;
  3. 指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象的引用;
  4. 作为参数传递时,指针需要被解引才可以对对象进行操作,而直接引用的修改都会改变引用所指向的对象;
  5. 可以有const指针,但没有const引用;
  6. 指针在使用时可以指向其它对象,但是引用只能是一个对象的引用,不能被改变;
  7. 指针可以有多级指针(**p),而引用只有一级;
  8. 指针和引用使用++运算符的意义不一样:++运算符对指针进行操作时,实际上是在指针所指向的内存地址上进行增量操作;++运算符对引用进行操作时,是在所引用的变量上进行增量操作。
  9. 如果返回动态内存分配的对象或者内存,必须使用指针,引用可能会造成内存泄漏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值