C语言的宏有一个重要特性那就是在预处理阶段就进行字符替换。
用C++的特性替换C语言中的宏主要有三种方式:①typedef、②inline函数、③const修饰符
而这三种方式都有和宏最大不同的区别就是,他们都是在编译期进行的。
(1)typedef:C语言与C++两者所共有的,但是与宏仍有区别,区别如下:
①typedef 创建的符号名只受限于类型,不能用于值。
②typedef 由编译器解释,#define由预处理器处理。
③作用范围不同
(2)inline 函数:可以查看我的博客C++和C语言的区别(一)
(3)const修饰符:可以查看我的博客C++和C语言的区别(三)
(4)typedef和#define对于const的区别