是否可以有这样的功能:
const char* load(const char* filename_){
return
#include filename_
;
};
所以您不必对#include 文件进行硬编码?
也许用一些宏?
伙计们,我正在画一个空白。我不知道它是否完全不可能,或者它是否只有一个奇怪的解决方案。
编辑:
此外,理想的做法是将其作为编译时操作,否则我知道有更多标准的方法来读取文件。因此首先要考虑#include。
最佳答案
这绝对不可能。
原因是——正如 Justin 在评论中所说的那样——#include
是在编译时求值的。
要在运行时包含文件,需要程序“内置”一个完整的编译器。很多脚本语言都支持类似的东西,但 C++ 是一种编译语言,工作方式不同:编译和运行时严格分开。
关于c++ - 从字符串变量参数调用#include 宏的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49543866/