C++中关键词const的使用

const修饰符和C中#define的比较,在C中,用#define来定义常量如:#define PI 3.14;程序与编译时标识符PI被全部置换为3.14.在预编译后,程序中不再出现PI这个标识符,PI不是变量,没有类型,不占存储单元,且易出错;而C++则用Const来修饰常量;如:

const double PI=3.14或double const PI=3.14

两者相同,这时PI有类型,占用存储单元,有地址,可以用指针指向它;

const也可以与指针结合使用,看看这两条语句const char* str="c++"和char* const str="c++"有什么区别,一看好像没什么不同,其实他们的意义完全不一样,前一个str是指向字符串常量的普通指针变量,它不允许str指针所指的常量比如:str[2]=‘-';但是可允许改变它所指的地址,比如str="C--";对于第二种情况,则刚好相反,创建了一个常指针,即不能改变指针所指的地址,但可以改变数据,即str="C--"//不可以;str[2]='-';//可以。还有如果const定义的是一个整型常量,那么关键字int可省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值