В С++ 11 могут ли строки строковых литералов иметь несколько строк? Является ли это законным в С++ 11? string s = R"(This is the first line And this is the second line)"; ... эквивалентно: string s = "This is the first line\nAnd this is the second line"; Ответ 1 Да, это совершенно верно. См. здесь. Кроме того, из (черновика) стандарта 2.14.5/4: Новая строка в исходном файле в строковом литерале приводит к новой строке в результате выполнения строкового литерала. Предполагая пробелы в начале строк в в следующем примере утверждение будет успешным: const char *p = R"(a\ b c)"; assert(std::strcmp(p, "a\\\nb\nc") == 0);
Ответ 1 Да, это совершенно верно. См. здесь. Кроме того, из (черновика) стандарта 2.14.5/4: Новая строка в исходном файле в строковом литерале приводит к новой строке в результате выполнения строкового литерала. Предполагая пробелы в начале строк в в следующем примере утверждение будет успешным: const char *p = R"(a\ b c)"; assert(std::strcmp(p, "a\\\nb\nc") == 0);