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

Подскажите, пожалуйста, если знаете, аналоги реализаций polymorphic_allocator из C++ в

Расте? Если правильно понимаю, ржавые вектора можно создавать тоже с произвольными аллокаторами, но пока сам не пользовался

13 ответов

7 просмотров
dj.maxus- Автор вопроса

Юзкейс типа такого: размер вектора известен будет только в рантайме, но будет фиксированным. Тогда хотелось бы выделить память один раз и переиспользовать до конца работы программы. Возможно, создавать на этой памяти и другие объекты

dj.maxus- Автор вопроса
mental stability🥺✨
Ну просто вектор, не расширяя его?

Сейчас подумал, что мне стоило уточнить, действительно. Аналогия ещё может заключаться в том, чтобы пушить без дополнительных аллокаций и перекладываний, даже если начальная ёмкость вектора превышена Ещё хочется так, чтобы после дропа не происходил delete той памяти, которой владел вектор, чтобы при следующем вызове функции, где снова создаётся вектор, снова занять эту память, покуда жив аллокатор, который её выделил. Так происходит как раз в плюсовых реализациях этой штуки

dj.maxus
Сейчас подумал, что мне стоило уточнить, действите...

Ну звучит как кольцевой буфер, сделанный через вектор.

dj.maxus- Автор вопроса
mental stability🥺✨
Ну звучит как кольцевой буфер, сделанный через век...

Пожалуй, правда можно назвать такую сущность буфером, точнее, обёрткой над буфером

dj.maxus- Автор вопроса
dj.maxus
Почему именно кольцевой?

А как ты ещё собираешься пушить не расширяя? Или ты хочешь пропускать операцию?

dj.maxus- Автор вопроса
mental stability🥺✨
А как ты ещё собираешься пушить не расширяя? Или т...

Типа у вектора превышен хоть и превышен текущий capacity, но аллокатор знает, что у него пока есть свободное место, чтобы положить ещё элементов рядом

dj.maxus- Автор вопроса
mental stability🥺✨
Чего?

Плохо формулирую, наверное

Есть капасити превышен, то свободного места уже нету. У вектора есть капасити и количество элементов, количество элементов всегда меньше или равно капасити

dj.maxus- Автор вопроса

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

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

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Карта сайта