172 похожих чатов

Подскажите плиз с выбором типа. У меня есть DTO-шка, которая

описывает запрос/ответ стороннего сервиса.
В ней есть свойство-массив (и даже не одно)

Какой тип лучше использовать для такого массива? Vec<T>/Box<[T]>/&[T]?
Хочется уйти от кучи параметров по лайфтаймам, так как я не уверен, сколько этот объект должен жить.
Сейчас использую Box<[T]>, но вижу потенциальную проблему в том, что массив сначала создаётся на стеке, а потом копируется в кучу. Думал что как-то можно Vec превратить в Box<[T]>, чтобы обойти эту проблему, но не нашёл такого способа.

Скорее всего сейчас буду переходить на Vec, так как уже и так использую HashMap, но не уверен до конца

10 ответов

44 просмотра

у вектора есть метод into_boxed_slice

Vabka- Автор вопроса
Mikail Bagishov
у вектора есть метод into_boxed_slice

капец. А название достаточно очевидное получается

Vabka- Автор вопроса
Mikail Bagishov
у вектора есть метод into_boxed_slice

А на счёт практики, как лучше? DTO_шка в целом иммутабельная у меня - после создания никак не планируется дальше работать с ней - только сериализовать и отправить

Vabka- Автор вопроса

Ну по поводу практики меня больше беспокоит поддерживаемость и лёгкость кодирования, ибо это у меня первый более/менее полноценный сервис на расте и я хз как мои решения скажутся в будущем. А стек мне уже порвало)

Vabka
Ну по поводу практики меня больше беспокоит поддер...

Ну, в данном конкретном случае я согласен с @MikailBag .

Vabka- Автор вопроса
Mikola Summer Duck
Ну, в данном конкретном случае я согласен с @Mikai...

Тоесть особо разницы нет - что Vec, что Box<[T]> будет ок?

Vabka
Тоесть особо разницы нет - что Vec, что Box<[T]> б...

Box<[T]> хорош тем что ты его случайно не ресайзнешь

Vabka
Тоесть особо разницы нет - что Vec, что Box<[T]> б...

Разница есть, как Михаил заметил, но я не думаю что в твоём случае она важна.

Vabka
Тоесть особо разницы нет - что Vec, что Box<[T]> б...

Если ты собираешься его расширять юзай век, если нет то бокс от слайса. Исходи из потребностей семантики а не того как там что лежит

Vabka- Автор вопроса
Αλεχ Zhukovsky
Если ты собираешься его расширять юзай век, если н...

Ну примерно так я и рассуждал - штука один раз собирается в заранее известный размер и больше никак не трогается

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта