c++ - 从字符串变量参数调用#include 宏的函数?

标签 c++ macros include

是否可以有这样的功能:

const char* load(const char* filename_){
    return
    #include filename_
    ;
};

所以您不必对#include 文件进行硬编码?

也许用一些宏?

伙计们,我正在画一个空白。我不知道它是否完全不可能,或者它是否只有一个奇怪的解决方案。

编辑:

此外,理想的做法是将其作为编译时操作,否则我知道有更多标准的方法来读取文件。因此首先要考虑#include。

最佳答案

这绝对不可能。

原因是——正如 Justin 在评论中所说的那样——#include 是在编译时求值的。

要在运行时包含文件,需要程序“内置”一个完整的编译器。很多脚本语言都支持类似的东西,但 C++ 是一种编译语言,工作方式不同:编译和运行时严格分开。

关于c++ - 从字符串变量参数调用#include 宏的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49543866/

相关文章:

c++ - __has_cpp_attribute 不是 'function-like' 宏?

c++ - 什么是前向声明

php - 包含一个 SVG 文件并改变它的高度

c++ - 线程中指向this*的指针

macros - 在 Lisp 中,作为 push 是对 cons 的追加是什么?

c++ - Qt:如何将 textEdit 光标移动到特定的列和行

具有可变数量参数的 C++ 宏

c++ - 如何停止 IntelliSense PCH 警告?

c++ - C++中的字符串处理和内存管理

c++ - 读取文本文件的值并将值写入 QDoubleSpinBox