Есть ли какая-то особая причина, что многострочные строковые литералы, такие как следующие, не разрешены в С++?
string script =
"
Some
Formatted
String Literal
";
Я знаю, что многострочные строковые литералы могут быть созданы путем размещения обратной косой черты перед каждой новой строкой. Я пишу язык программирования (похожий на C) и хотел бы облегчить создание многострочных строк (как в приведенном выше примере).
Есть ли какая-либо техническая причина для исключения такого рода строкового литерала? В противном случае мне пришлось бы использовать строковый литерал типа python с тройной цитатой (чего я не хочу делать):
string script =
"""
Some
Formatted
String Literal
""";
Почему объявления строковых литералов C/С++ являются однострочными?