C++ macro(宏)使用小结

本文总结了C++中的宏使用,包括宏的基本性质、常见问题、预处理器预定义的值以及宏在效率和字符串操作上的应用。特别强调了宏与函数在运行时的不同,以及宏可能导致的不易察觉的错误。示例展示了如何避免宏展开导致的错误,以及宏在创建内联函数和字符串操作中的作用。
摘要由CSDN通过智能技术生成

  谈起C++中的宏,我们第一个想到的应该就是“#define”,它的基本语法长得像这样:

1 #define macroname(para1, para2, para3, ... ,paran) macro-body

  宏的声明和普通的函数声明很像,但是两者之间有本质的区别:C++函数在运行时(runtime)才执行代码段;而宏则是在预编译时期(preprocessor)执行代码段。下面简单介绍一下几个宏的应用。

 

一、考虑下面的代码段:

1 #define PLUS_ONE(x) ((x) + 1)
2 int x=PLUS_ONE(12);
>>>x=((12) + 1)
>>>x=13

  这是最简单的应用,用macro-body替换macroname;和C函数不一样的是,宏是没有返回值的,本身表达式的值将作为返回值传回。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值