C++中#define与typedefine的区别

原文链接:https://www.cnblogs.com/fengfengqingqingyangyang/p/3270432.html

(1)typedef是用来定义关键字/标识符的别名,并未分配内存空间,发生在“编译”的过程中。(为标识符起别名)

(2)#define 为宏定义,用于定义常量及宏,发生在程序的 “预处理” 阶段中(很难发现潜在的错误以及其他代码维护的问题)。(C语言中定义常量)

(3)#define用于定义 可读的常量 及 宏语句 的任务。

(4)#typedef用于定义 关键字 及 冗长类型 的别名。

(5)宏定义只是进行简单的字符替换,而typedef得新名字具有一定得封装性。

猜你喜欢

转载自www.cnblogs.com/fourmi/p/11915262.html