std::string_view на результате выражения вроде.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpSvDg 237 of 696 menu
◀ ▶

Повисший std::string_view в C++

Повисший просмотр остается, когда буфер уже уничтожен, а окно на символы еще существует.

Если построить std::string_view на результате выражения вроде временной std::string, буфер исчезнет в конце выражения, а просмотр будет указывать в пустоту. Такой просмотр нельзя выводить и нельзя использовать для чтения.

Безопасный порядок: сначала сохранить строку в именованной переменной, затем построить просмотр и работать, пока строка жива. Запишем строку, просмотр и выведем текст:

#include <string> #include <string_view> std::string owner = "safe text"; std::string_view view = owner; std::cout << view << "\n";

Создайте std::string msg со значением "hold", постройте на ней просмотр и выведите его, не уничтожая строку раньше просмотра.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить