它在C和C++中有效打破字符串文字,因为预处理器或编译器将连接相邻的字符串文字.
const char *zStr = "a" "b"; // valid
Run Code Online (Sandbox Code Playgroud)
当字符串文字以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?
Run Code Online (Sandbox Code Playgroud)