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

时间:2016-10-25 19:00:51

标签: c++ boost

在C ++ 11中,您可以像这样创建一个原始字符串

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

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

感谢。

1 个答案:

答案 0 :(得分:0)

Raw String literals是一种无法在任何库中实现的核心语言功能。基本上,因为C ++标准指定了如何解析字符串文字。但是可能存在编译器特定的扩展。但是,没有可移植的方法来做C ++ 11之前的Raw字符串。

即使在C ++ 11及更高版本中,我们也有Raw字符串文字,它是一种Core语言特性,其标准语法和语义is dictated。简而言之,它是一个编译时功能。您的问题也可以比作使用普通C ++ 03复制C ++ 14 constexpr功能。

  

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

请参阅this question and its answers,这可能会有所帮助