define、const、typedef、inline 使⽤⽅法?

本文详细阐述了C++中const关键字与#define宏定义的区别,包括类型安全性、作用域和预处理阶段的影响。同时,讨论了typedef与#define在创建类型别名时的不同,特别是类型检查和作用域的差异。最后,对比了#define和inline函数的使用场景,强调了inline函数的类型安全性和编译阶段替换的特性。
摘要由CSDN通过智能技术生成

1const #define 的区别

const 定义的常量是变量带类型,⽽ #define 定义的只是个常数不带类型;
define 只在预处理阶段起作⽤,简单的⽂本替换,⽽ const 在编译、链接过程中起作⽤;
define 只是简单的字符串替换没有类型检查。⽽ const 是有数据类型的,是要进⾏判断的,可以避免⼀些低级错误;
define 预处理后,占⽤代码段空间, const 占⽤数据段空间;
const 不能重定义,⽽ define 可以通过 #undef 取消某个符号的定义,进⾏重定义;
define 独特功能,⽐如可以⽤来防⽌⽂件重复引⽤。

2#define 和别名 typedef 的区别

执⾏时间不同, typedef 在编译阶段有效, typedef 有类型检查的功能; #define 是宏定义,发⽣在预处理阶段,
不进⾏类型检查;
功能差异, typedef ⽤来定义类型的别名,定义与平台⽆关的数据类型,与 struct 的结合使⽤等。
#define 不只是可以为类型取别名,还可以定义常量、变量、编译开关等。
作⽤域不同, #define 没有作⽤域的限制,只要是之前预定义过的宏,在以后的程序中都可以使⽤。⽽ typedef 有⾃⼰的作⽤域。

3define inline 的区别

#define 是关键字, inline 是函数;
宏定义在预处理阶段进⾏⽂本替换, inline 函数在编译阶段进⾏替换;
inline 函数有类型检查,相⽐宏定义⽐较安全;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是纠结伦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值