Доброго времени суток!
Допустим у меня массив байтов и мне нужно его превратить в строку.
Для этого я бегу по массиву до нужного байта, создаю срез и передаю в другую функцию.
Как я понял срез это просто ссылки на элементы массива, а значит не будет выделяться память ?
Равноценен ли массив с ссылками на элементы другого массива - срезу ?
Как я понял срез это просто ссылки на элементы массива, а значит не будет выделяться память ?
Если вынести за скобки "boxed slice" (Box<[u8]>, см. https://doc.rust-lang.org/reference/types/slice.html ), то обычные срезы (`&[u8]` и `&mut [u8]`) никакой дополнительной памяти не выделяют - только указатель на первый элемент + usize для хранения количества элементов.
Равноценен ли массив с ссылками на элементы другого массива - срезу ?
`[&u8]`? Нет - как минимум потому, что потребует места под хранение указателя на каждый элемент.
Допустим у меня массив байтов и мне нужно его превратить в строку.