числовые - В C++ 11 могут ли строки строковых литералов иметь несколько строк?



числовые литералы c# (1)

Является ли это законным в C ++ 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";

Да, это совершенно верно. См. here .

Кроме того, из (проект) стандарта 2.14.5 / 4:

Новая строка исходного файла в строковом литерале приводит к созданию новой строки в результирующем строковом строковом исполнении. Если в следующем примере нет пробелов в начале строк, утверждение будет успешным:

const char *p = R"(a\
b
c)";
assert(std::strcmp(p, "a\\\nb\nc") == 0);




c++11