Инициализация std::string_view строковым литералом в стиле C [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Инициализация std::string_view строковым литералом в стиле C [дубликат]

Сообщение Anonymous »

Код: Выделить всё

std::string_viewОбъекты 
имеют представление только над объектом, таким как std::string, и изменение значения строки, используемой для инициализации string_view, сделает ее недействительной. p>
Теперь, если я инициализирую string_view строковым литералом в стиле C, следующим образом:

Код: Выделить всё

std::string_view s{ "Hello, world!" };
Здесь «Hello, world!» — это просто буквальный смысл, так почему же это работает? Создает ли конструктор std::string_view строку в стиле std::string или C в памяти? Или написание строкового литерала в стиле C создает объект в памяти? Если это так, то как это обрабатывается с точки зрения расположения памяти и срока службы?

Подробнее здесь: https://stackoverflow.com/questions/785 ... ng-literal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»