Size: a a a

2021 July 09

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Какая структура данных подходит, чтобы быстро удалять первых k эллементов и пушить каждый новый в конец? Или пушить в начало, а удалять порции с конца.

deque?
источник

AS

Anatoly Shirokov in supapro.cxx
Да
источник

АВ

Александр Водянников... in supapro.cxx
Да
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Хм, а как можно передать ownership на последних k эллементов у дека?
То есть у листа это было бы splice, а здесь как сделать без копирования их?
источник

SH

Serhii Herashchenko in supapro.cxx
таке дека это же вектор под капотом
источник

SH

Serhii Herashchenko in supapro.cxx
только копировать
источник

SH

Serhii Herashchenko in supapro.cxx
хотя ты можешь попробовать юзать контейнер в деки лист
источник

SH

Serhii Herashchenko in supapro.cxx
а не сори \
источник

SH

Serhii Herashchenko in supapro.cxx
источник

SH

Serhii Herashchenko in supapro.cxx
судя по всему не вектор
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Ладно, можно сделать list<array<portion_size, int>>, чтобы было эффективно или это бред?
источник

D

Danya in supapro.cxx
Возможно будет быстрее скопировать эти злосчастные инты )
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
ну там не инты по факту - я просто для примера написал...
Там где-то данные с полями 3 long long и 1 double
источник

D

Danya in supapro.cxx
Ну всё равно
источник

D

Dmitriy in supapro.cxx
Это простейшие типы. Их копирование - memcpy
источник

D

Dmitriy in supapro.cxx
Оптимизация имеется и в std::copy, и в векторе
источник

O

Ofee in supapro.cxx
В классе придётся выбрать, какой же конкретно ты хочешь хранить (ты же не хочешь работать с чем-то неопределённым?), а в методе принимать либо тот же самый тип, что объявлен в классе, либо любой инстанс duration и внимательно кастить
источник

O

Ofee in supapro.cxx
Например, если нет специфичных требований, можно взять std::chrono::system/steady_clock::duration

Если есть взаимодействие по какому-нибудь API, там, очевидно, описывается формат представления времени и можешь соберать свою специализацию std::chrono::duration в соответствии с этим API
источник

Q

Qwant in supapro.cxx
hex редактор
источник

K

Kirill in supapro.cxx
std::chrono::duration<std::uint64_t>
источник