在 C 和 C++ 中打破字符串文字是有效的,因为预处理器或编译器将连接相邻的字符串文字。
const char *zStr = "a" "b"; // valid
当字符串文字以L
(宽字符)、u
(UTF-16)、U
(UTF-32)、u8
(UTF-8) 和原始字符串文字 ( R"foo(this is a "raw string literal" with double quotes)foo"
) 为前缀时会发生什么?
例如,是否允许以下内容:
const wchar_t *zStr = L"a" "b"; // valid?