@CNNRNN

Выделяется ли память при создание &str?

Есть массив байтов и я хочу первые 10 байтов конвертировать в строку .
если я сделаю String::from_utf8_lossy() это вернет &str.
Правильно ли я понимаю, что &str это адрес тех 10 байтов и фактически память будет выделена только создания ссылки ? Спасибо!
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 2
keksmen
@keksmen
Just a programmer
Тут есть немного недопонимания. Под выделением памяти обычно подразумевают её выделение в динамической памяти, в то время как переменные и аргументы живут в стековой памяти.

А теперь, отвечая на ваш вопрос:
  • Да, &str - это действительно лишь адрес байтов и длина среза, на который адрес ссылается.
  • Нет, динамическая память при этом не выделяется, т.к. хранение на стеке предсказуемо, однозначно и достаточно для этого случая.
Ответ написан
Комментировать
john36allTa
@john36allTa
alien glow of a dirty mind
Забыли про длину..
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы