实际上,我认为这不是好的做法。但是因为 C++ 元编程是图灵完备的,所以为了完整性,我一直在研究它。在生产中我不会使用它,但为了好玩我想在编译时做一些文件 IO。有人知道如何在编译时使用元编程进行文件 IO 吗?也相当于使用元编程在编译时使用 C++ 运行脚本?
最佳答案
答案是否定的,你不能。不是任何普通意义上的词。
但是,从好的方面来说,文件 I/O 不是图灵完备性的要求,实际上也不是任何编程语言定义的要求。从编程语言文件的角度来看,I/O 仅仅是意外数据的来源,或者是发送不再需要的位的地方,或者是语言的某些部分之间的有趣连接,因此一次存放的位可用于另一个。
因此在某种抽象层次上,编译器的内部存储可以被视为一个存储库(或文件系统),它预装了程序的源代码和一些符号。元编程脚本可以在此存储库上交互(执行 I/O),接受输入代码和符号并发出生成的代码和符号,其中一些是它之前生成的。
但答案仍然是否定的。没有文件 I/O。
关于c++ - 你能在 C++ 元编程中做文件 IO 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23900698/