如何在 C++ 中编写多行字符串常量(字面量)?
大家好!我是一名 C++ 初学者,遇到了长字符串的问题。我需要在代码中存储一大块文本(例如 SQL 查询、JSON 或只是用于输出的消息)。全部写在一行很不方便——代码变得难以阅读,并且难以格式化。
我尝试这样拆分字符串:
```cpp
std::string query = "SELECT * FROM users\nWHERE age > 18\nORDER BY name;";
```
但编译器报错:"invalid string literal"。我明白这样不行。然后我尝试了拼接:
```cpp
std::string query = "SELECT * FROM users" +
"WHERE age > 18" +
"ORDER BY name;";
```
这编译通过了,但字符串变成了连续的——空格和换行符丢失了。我不得不手动添加 '\n',这也很不方便。
我听说 C++11 引入了 raw string literals,但不知道如何正确使用。你能解释一下有哪些方法可以声明多行字符串并保留格式,以及哪种方法被认为是