boost函数创建c++ 11的原始字符串

boost function to create C++ 11 raw string

本文关键字:原始 字符串 c++ 函数 创建 boost      更新时间:2023-10-16

在c++ 11中,您可以创建如下的原始字符串

string rawString = R"delim(STRING_WITH_SPECIAL_CHARACTERS)delim";  

它将忽略所有特殊字符。但是,在GCC 4.4或更早版本中没有实现此功能。这个特性是否有相应的boost ?如果没有,在旧版本的c++实现中创建原始字符串的最佳方法是什么?

谢谢。

原始字符串文字是任何库都无法实现的核心语言特性。基本上,因为c++标准指定了应该如何解析字符串字面值。但是可能会有特定于编译器的扩展。但是,在c++ 11之前没有可移植的方法来处理原始字符串。

即使在c++ 11及以后的版本中,我们也有原始字符串文字,这是一个核心语言特性,其语法和语义由标准规定。简而言之,它是一个编译时特性。您的问题也可以比作使用正常的c++ 03复制c++ 14 constexpr的功能。

在旧版本的c++实现中创建原始字符串的最佳方式是什么?

看这个问题和答案,可能会有帮助