在C ++ 11中,您具有原始字符串文字。shell和脚本语言(例如Python,Perl和Ruby)中的此处文本有点类似。
const char * vogon_poem = R"V0G0N(
O freddled gruntbuggly thy micturations are to me
As plured gabbleblochits on a lurgid bee.
Groop, I implore thee my foonting turlingdromes.
And hooptiously drangle me with crinkly bindlewurdles,
Or I will rend thee in the gobberwarts with my blurlecruncheon, see if I don't.
(by Prostetnic Vogon Jeltz; see p. 56/57)
)V0G0N";
字符串中的所有空格和缩进以及换行符都将保留。
它们也可以是utf-8 | 16 | 32或wchar_t(具有通常的前缀)。
我应该指出,这里实际上不需要转义序列V0G0N。它的存在将允许在字符串中放入)“。换句话说,我可以将
"(by Prostetnic Vogon Jeltz; see p. 56/57)"
(请注意额外的引号),并且上面的字符串仍然正确。否则我也可以使用
const char * vogon_poem = R"( ... )";
仍然需要引号内的括号。