c++中const、内联函数与c语言中的宏定义的区别

来源:互联网 发布:条码打印机软件下载 编辑:程序博客网 时间:2024/04/28 12:38

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++方面的问题。