有没有办法从非C / C ++文件中读取C ++原始字符串文字的内容?

时间:2018-10-31 06:37:51

标签: c++ file include string-literals

是否有一种方法可以从非C / C ++文件中读取C ++原始字符串文字的内容(在编译时-即使其硬编码到结果单元中?

C ++具有很好的原始字符串文字,例如

const char* const cstring = 
R"myheredoc(
       do ;*!$%@#
       whatever 
       you want here
)myheredoc";

但是,有没有一种方法可以从非C ++文件(例如示例配置文件)中读取原始字符串的内容。

我可以想象这可以通过构建系统来完成,只是想知道我没有错过C ++强大的新功能。

1 个答案:

答案 0 :(得分:4)

当前,C ++无法实现它,除非依赖预处理器和构建系统。

当您可以使用预处理器#include自动生成的头文件/源文件来完成此任务时,情况有些遗憾。因此,目前有一篇针对C ++ 20的论文,提出了恰当的命名为std::embed。如果它被选入C ++标准,它将几乎可以做您想要做的事情。所以请继续关注。