Avatar ·

如何在 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,但不知道如何正确使用。你能解释一下有哪些方法可以声明多行字符串并保留格式,以及哪种方法被认为是