语法宏与函数调用

2011-04-23 14:18:15
由于在新语言中,语法宏和函数调用的定义形式已经没有了任何区别,它们也可以统一起来,并且在一定条件下相互转换。在深入到细节中发现,这两个虽然可以不做区分,但调用方式还是有所侧重。

对于一个函数
sum(x,y,z)
  return x+y+z

在运行期,这个函数调用返回x,y,z之和。

对于一个语法宏

sum(x,y,z)
  return x+y+z

在编译时进行展开其结果是将sum(x,y,z)替换为x+y+z,如果x,y,z是常数,那么在编译期就可以直接展开得到结果。

这个对比说明,某个语法结构,到底是成为语法宏,还是函数调用,要取决于语言的层次和上下文。它是被归类为语法宏,还是函数调用,是一个相对的概念。

这里存在一些概念需要梳理。
::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::