浅谈关于C语言中#define的副作用-创新互联

MFC虽然没有未来,但是我觉得MFC的思想还是有必要研究研究的,在MFC中或者一些底层代码的编写中,宏是相当好用的,为什么呢?因为宏只是简单的替换,不进行类型转换,替换就意味着灵活,而C语言编程的灵魂就是灵活啊。

和平网站建设公司成都创新互联,和平网站设计制作,有大型网站制作公司丰富经验。已为和平1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的和平做网站的公司定做!

但是在高级语言中,甚至C++中,是提倡用const的,不提倡用#define,因为#define有一定的副作用,玩不好就没命了。
这里我们讨论下#define的副作用。

# include 
# include 
# define CALL_WITH_MAX(a,b) f((a)>(b)?(a):(b))
int main(void)
{
 int a = 5;
 int b = 0;
 CALL_WITH_MAX(++a,b);
 CALL_WITH_MAX(++a,b+20);
 return 0;
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页标题:浅谈关于C语言中#define的副作用-创新互联
分享网址:http://azwzsj.com/article/dsssio.html