C++const typedef和#define的区别

1.#define和typedef

这两个方法都可以创建类型别名,#dfefine为预处理器编译指令,typedef是关键字
#define的通用格式为:

#define aliasName typeName //注意没有分号;

typedef的通用格式为:

typedef typeName aliasName;

需要注意的是,在预编译环节,#define命令是直接将标识符定义为字符串格式,这意味着很像复制粘贴,很容易出现问题,所以与#define对比,使用typedef是一种更佳的选择。

2.#define和const

#define命令是C语言中的一个宏定义命令,所以我们经常在c语言中遇到使用#define命令来定义一个常年的情况,比如

#define PI 3.14

这样,在预处理器编译程序时,会把整个程序中所有的PI替换为3.1415926,从而完成常量定义的工作。
但是在c++中有更好的命令来完成常量定义和初始化的工作。
比如:

const float PI = 3.14
发布了22 篇原创文章 · 获赞 2 · 访问量 484

猜你喜欢

转载自blog.csdn.net/weixin_42709632/article/details/103893470
今日推荐