关闭

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

标签: c++安全c语言
672人阅读 评论(0) 收藏 举报

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

 

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3193次
    • 积分:68
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档