C++ · Essencial · Inglês · Técnico
raw string literal
Literal de texto com prefixo R em que barras invertidas e aspas não precisam de escape, e as quebras de linha são preservadas. Útil para regex, JSON e caminhos.
Onde usar
Aparece em expressões regulares, trechos de JSON e caminhos do Windows, onde os escapes tornariam o texto ilegível. Um delimitador personalizado resolve o caso de o texto conter o fecho do literal.
Em código
std::string p = R"(C:\temp\novo.txt)";
std::regex r(R"(\d+\.\d+)");
std::string j = R"json({"a": 1})json";Exemplos
Use a raw string literal for the regex, no escaping needed.
Use um raw string literal para a regex, sem escapes.
The JSON fits in a raw string literal.
O JSON cabe em um raw string literal.
Cuidado
Espaços e quebras de linha dentro do literal fazem parte do texto, inclusive a indentação.
Sinônimos
literal bruto