#cpp #cpp11
Для чего нужны необработанные строковые литералы (raw string literals)? В каких случаях стоит их применять?
Ответы
Ответ 1
Чтобы ASCII арты выводить проще было: #includeint 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}\\)...
Комментариев нет:
Отправить комментарий