【c++面试问答】常量指针和指针常量的区别

问题

常量指针和指针常量有什么区别?

const的优点

在C++中,关键字const用来只读一个变量或对象,它有以下几个优点:

  1. 便于类型检查,如函数的函数 func(const int a) 中a的值不允许变,这样便于保护实参
  2. 功能类似于宏定义,方便参数的修改和调整。如 const int max = 100;
  3. 节省空间,如果再定义a = max,b=max…等就不用在为max分配空间了,而用宏定义的话就一直进行宏替换并为变量分配空间
  4. 为函数重载提供参考,即可以添加const进行重载。

常量指针和指针常量的区别

首先要区分常量指针和指针常量分别是什么,这里有一种很好的记忆方法:

指针(*)和常量(const)谁在前先读谁 ; 象征着地址,const象征着内容;谁在前面谁就不允许改变。*

int a = 1;  
int b = 2;  
int c = 3;  
int const *p1 = &b;		// const在前,p1为常量指针
int *const p2 = &c;		// * 在前,p2为指针常量
//注意:允许将非const对象的地址赋给指向const对象的指针,所以第4行代码是正确的
</
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BLFaker84516

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值