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

Где можно почитать как контейнеры STL расположены в памяти? и

deque тоже раскидан по памяти как list, или как vector?

14 ответов

12 просмотров

Это лист векторов

Anatoly Shirokov
Это лист векторов

Точно не вектор указателей на array?

Anatoly Shirokov
Это лист векторов

а не подскажете, почему не сделали циклический буфер?

anton
а не подскажете, почему не сделали циклический буф...

потому что это вектор или array c двумя индексами чтения и записи, пишите, увеличиваете индекс записи, корректируя по размеру вектора, читаете, увеличиваете индекс записи с точно такой же корректировкой

Anatoly Shirokov
потому что это вектор или array c двумя индексами ...

вот, это фактически push_front и pop_back, добавьте запись в r и чтение из w и получится push_back и pop_front - вот и deque, кмк

anton
вот, это фактически push_front и pop_back, добавьт...

А причем кольцевой буфер что-то не уловил?

Anatoly Shirokov
А причем кольцевой буфер что-то не уловил?

мне всегда казалось, что std::deque устроена примерно как кольцевой буфер

anton
мне всегда казалось, что std::deque устроена приме...

Дека набор чанков фиксированной длины. Расширяется как слева так и справа. Какой же это кольцевой буфер?

Anatoly Shirokov
Дека набор чанков фиксированной длины. Расширяется...

я хочу сказать, это можно реализовать как кольцевой буфер, вы ведь можете писать в буфер и слева и справа, только в кольцевом буфере вы начинаете перетираеть старые значения, когда w "догоняет" r, а здесь можно сделать реаллокацию, как в векторе.

anton
я хочу сказать, это можно реализовать как кольцево...

Реализация потребует большого оверхеда, там не амортизированная 1 в требованиях к добавлению в конец

Constantine Drozdov
Реализация потребует большого оверхеда, там не амо...

https://www.quora.com/What-is-a-possible-implementation-for-std-deque кстати, тут указывают причину, что кольцевой буфер не подходит, потому что при вставке могут инвалидироваться ссылки

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта