In C++11, can raw string literals have multiple lines?

c++, c++11, string

Solution

Yes, that is perfectly valid. See here.

Also, from the (draft) standard 2.14.5/4:

A source-file new-line in a raw string literal results in a new-line in the resulting execution string-literal. Assuming no whitespace at the beginning of lines in the following example, the assert will succeed:

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

Problem

Is this legal under C++11? ``` string s = R"(This is the first line And this is the second line)"; ``` ... being equivalent to: ``` string s = "This is the first line\nAnd this is the second line"; ```

Original source

Related problems