“ quote”宏如何实现插值?

醉酒编码器

如何做quote(声明)和proc_quote(程序)宏允许局部变量的插值?

由于(声明性)宏是卫生的,因此我希望它们无法访问被调用的环境。

马斯林

由于(声明性)宏是卫生的,因此我希望它们无法访问被调用的环境。

为什么呢

vec![a, b, c]

工作良好。

宏保持卫生并不意味着它们无法访问被调用的环境(这将使它们完全无用),这意味着它们不会意外影响被调用的环境,即内部符号宏不会泄漏到环境符号中也不会与环境符号冲突。

例如,使用C宏,宏内部和外部的名称都生活在完全相同的名称空间中,因此可能会发生冲突和奇怪的副作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章