指针和引用的区别

本文详细解析了C++中指针与引用的区别与联系,包括它们的定义、区别、用法及实例演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念

两者都是内存地址的概念

引用是某块内存地址的别名,指针指向某一块内存的地址

区别

1、指针是一个实体,专门用来表达地址的变量,引用只是一个别名,跟常量类似

2、指针的值可变,引用在第一次赋值之后就不可改变

3、引用前面不能加const,否则报错,指针可以

4、引用不能为空,指针可以为空,即null

5、“sizeof 引用”所得的是对象的大小,而“sizeof 指针”所得是指针本身,是地址的大小

eg:class test

{

public:

  test(){}

private:

 char name;

};

void main()

{

 test *a;

 test b;

 a=&b;

 cout<<sizeof(a)<<endl;

 cout<<sizeof(b)<<endl;

}

运行以上代码会得到不同的值,sizeofa)的值永远是4sizeofb)的值会根据本体占用内存返回大小

6、自增的含义不同,指针自增表示指向地址的偏移,引用只是一个别名,自增不会引起指向地址的改变,只会引起值的变化

转载于:https://my.oschina.net/carbenson/blog/468147

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值