是否可以使用 C++ 函数或宏将另一个函数的代码作为字符串写入文件?

Is it possible to have a C++ function or macro that writes the code of another function to file as a string?

是否可以让一个函数将另一个函数的内容(即实际代码)写入文件?例如,假设我们有一个将两个数字相加的函数:

int add(int a, int b){
    return a + b;
}

是否可以有另一个函数或宏将此函数作为字符串写入文件?

void functionThatWritesAddToAFile(std::string fname){
    
}

我想要这个的原因是为了自动生成我的文档示例。我希望能够编写代码示例(最好是 googletests,但简单的函数也可以)和 运行 它们,然后将代码示例保存到已知位置的文件中,该文件将被自动读取我的文档(使用 sphinxs .. literalinclude:: fname 指令)。这样,当代码更改时,示例会自动更新。

我最近使用 C++ 的经验不多,但我认为至少可以读取文本文件的内容并将其复制到另一个文件?显然,您不能同时拥有想要复制的代码 运行,但如果您只需要复制内容并将其保存到不同的位置,那是可行的。该函数可能看起来像:

  1. 打开文件
  2. 阅读内容
  3. 将内容存储为字符串
  4. 在位置创建新文件
  5. 在新文件中写入内容
  6. 关闭文件

...类似这样的东西? Python 使用 open(),read(),write() functions/methods 我想 C++ 也有类似的东西