1、首先说下c语言中的宏定义
宏定义分两种模式:
1)不带参数的宏定义
定义为常量
实例:
#define Max 1000
2)带参数的宏定义
#define f(a,b) a>b?a:b;
2、c++中的const 、内联函数与c语言中的宏定义的关系
1)c++中的const 是c语言中不带参数的宏定义的扩展
这里须指定数量类型,如果没有指出,则默认为整形数据
const int Max=10;
2)内联函数是c语言中带参数的宏定义的扩展
它比宏定义要安全,因为宏定义只是简单的替换,不检查数据格式
内联函数也是替换,但是它是函数格式,从而保证了数据的正确性与安全性
声明格式必须有inline关键字
inline int func();
同时,定义部分也必须有关键字inline
inline int func()
{
……
}
总结下:就是说,c++是c的超集
c++将c语言中的宏定义进行了扩展,扩展成两个独立的模块
解决了c语言中只是简单替换的原理,同时解决了宏定义的不安全性
欢迎各位网友批评指正,共同交流c++方面的问题。