Страницы

Поиск по вопросам

четверг, 19 декабря 2019 г.

Необработанные строковые литералы

#cpp #cpp11


Для чего нужны необработанные строковые литералы (raw string literals)? В каких случаях
стоит их применять?
    


Ответы

Ответ 1



Чтобы ASCII арты выводить проще было: #include int main() { std::cout << R"xxx( \ ( / `. \ ) / .' `. \ ( / .' `. .-''''-. .' `~._ .'/_ _\`. _.~' `~ / / \ / \ \ ~' _ _ _ _| _\O/ \O/_ |_ _ _ _ | (_) /\ (_) | _.~ \ \ / / ~._ .~' `. `.__.' .' `~. .' `-,,,,-' `. .' / ) \ `. .' / ( \ `. / ) \ hjw ()xxx"; } Ну и для регулярных выражений, конечно, но ascii арты, безусловно, важнее.

Ответ 2



Мое мнение - для упрощения записи. Когда приходится иметь дело с, например, регулярными выражениями, запутаться во всех обратных косых чертах - раз плюнуть. Вот в этой ситуации проще обойтись таким литералом. Какое-нибудь R"(\w{2}\s*\d{5}\\(-\d{4}\))" проще читать и писать, чем \\w{2}\\s*\\d{5}\\\\(-\\d{4}\\)...

Комментариев нет:

Отправить комментарий