#define 与 const

本文探讨了C++中的const关键字与C语言中的#define指令的主要区别。const定义的常量支持类型检查且拥有地址,而#define则在预处理阶段进行简单的字符串替换。文章还介绍了使用const定义不同类型常量的示例。

#define来自C,const产生于C++。区别在于使用const修饰符定义常量是类型化的,它有地址,可以用指针指向,但不能修改它的值。

// 指向常量的指针
const char *name = "chen";

name[
3]='a'//wrong
name="zhang"//right

 

//常指针
char *const name = "chen";

name[
3]='a'//right
name="zhang"//wrong

 

//指向常量的常指针

const char *const name = "chen";

name[
3]='a'//wrong
name="zhang"//wrong

说明:
1.如果没有给常量初值,C++假定初始值为零。
2.用const定义常量,C++编译器可以进行严格的类型检查。
3.#define是在预处理时起作用,相当于"查找并替换"。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值