const 不同位置的不同含义

 类型声明中const用来修饰一个常量,有如下两种写法:

1)const在类型前面

const int nValue//nValueconst

const char *pContent; //*pContentconst, pContent可变

const (char *) pContent;//pContentconst,*pContent可变

char* const pContent; //pContentconst,*pContent可变

const char* const pContent; //pContent*pContent都是const

2)const在类型后面

int const nValue// nValueconst

char const * pContent;// *pContentconst, pContent可变

(char *) const pContent;//pContentconst,*pContent可变

char* const pContent;// pContentconst,*pContent可变

char const* const pContent;// pContent*pContent都是const

  我的判断原则:

如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。另外,需要注意:对于const (char *) ; 因为char *是一个整体,相当于一个类型(char),因此,这时限定指针是const

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值