Daily bit(e) C++. Сырые строковые литералы

Добавлено 7 октября 2026 в 18:18

Daily bit(e) C++ 146, «сырые» строковые литералы из C++11.

Daily bit(e) C++

«Сырые» строковые литералы (появившиеся в C++11) упрощают запись многострочного текста и строк, содержащих специальные символы, которые в противном случае пришлось бы экранировать.

#include <string_view>

// Префикс R, за которым следует "( и закрывающие )"
std::string_view a = R"(c:\some\file\path)";
// c:\some\file\path

// При необходимости, можно включить идентификатор,
// чтобы допустить наличие подстроки )"
std::string_view b = R"some_data(R"(this is a raw string)")some_data";
// R"(this is a raw string)"

// При использовании многострочных "сырых" строк
// все начальные пробелы и символы перевода строки
// становятся частью самой строки.
std::string_view c = R"(When
using multi-line raw strings
    any leading space and newline characters
  will be part of the string)";

Пример на Compiler Explorer

Теги

C++ / CppDaily bit(e) C++Программирование