Avatar ·

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 ?