首页 >综合 > > 正文

今日视点:define的用法及短语_define的用法不解

发布日期:2023-04-30 00:58:56 来源:互联网 分享


(资料图片仅供参考)

1、该指令有三种用法:第一种是定义标识,标识有效范围为整个程序,形如#define XXX,常与内#if配合使用;第二种容是定义常数,如#define max 100,则max代表100(这种情况下使用const定义常数更好,因为:const常量有数据类型,而宏常量没有数据类型。

2、编译器可以对前者进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误 );第三种是定义"函数",如#define get_max(a, b) ((a)>(b)?(a):(b)) 则以后使用get_max(x,y)就可以得到x和y中较大的数(这种方法存在一些弊病,如get_max(a++, b)时,a++会被执行多少次取决于a和b的大小!所以建议还是用内联函数而不是这种方法提高速度。

3、虽然有这样的弊病,但这种方法的确非常灵活,因为a和b可以是各种数据类型。

4、)。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:

Copyright ©  2015-2022 青年兽药网版权所有  备案号:皖ICP备2022009963号-20   联系邮箱:39 60 291 42@qq.com