Comment écrire une constante de chaîne multiligne (littéral) en C++ ?
Bonjour à tous ! Je suis un développeur C++ débutant, et j'ai un problème avec les longues chaînes. J'ai besoin de stocker dans le code un grand bloc de texte (par exemple, une requête SQL, du JSON ou simplement un message à afficher). Tout écrire sur une seule ligne n'est pas pratique — le code devient illisible et difficile à formater.
J'ai essayé de diviser la chaîne comme ceci :
```cpp
std::string query = "SELECT * FROM users\nWHERE age > 18\nORDER BY name;";
```
Mais le compilateur donne une erreur : "invalid string literal". J'ai compris que ce n'est pas possible. Ensuite, j'ai essayé la concaténation :
```cpp
std::string query = "SELECT * FROM users" +
"WHERE age > 18" +
"ORDER BY name;";
```
Cela s'est compilé, mais la chaîne est devenue continue — les espaces et les sauts de ligne ont été perdus. J'ai dû ajouter '\n' manuellement, ce qui n'est pas pratique non plus.
J'ai entendu dire qu'en C++11, il y a les raw string literals, mais je ne comprends pas comment les utiliser correctement. Pouvez-vous expliquer quelles sont les façons de déclarer une chaîne multiligne qui conserve le formatage, et laquelle est considérée comme la meilleure pratique ?