Rust具有非常惊人的功能,可以使用纯锈代码proc_macros在编译时生成代码。 C ++中有什么类似的东西,可以让我执行真正的C ++代码来生成代码,而不是很难定义。
答案 0 :(得分:4)
目前,C ++中没有任何内置工具可以实现Rust proc-macros的功能。
传统上,在C ++中,我看到了两种实现相似效果的不同方法:
我认为QT的MOC在精神上更接近Rust proc-macros,而LLVM TableGen更接近Rust的build.rs
。
Herb Sutter提出了meta-classes,该提议将涵盖proc-macro的一个子集:derive宏。
它不会涵盖使用proc-macros来转换功能代码或以其他方式现场生成任意代码的情况。