Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему по стандарту для std::queue используется для хранения std::deque?
|
|||
|---|---|---|---|
|
#18+
Почему по стандарту для адаптера std::queue<> "однонаправленная очередь" (FIFO) используется для хранения контейнер "двунаправленная очередь" std::deque<>? http://www.cplusplus.com/reference/queue/queue/ авторIn their implementation in the C++ Standard Template Library, queues take two template parameters: Код: plaintext 1. Ведь это оверхед на хранение лишних указателей в обратном направлении. 1. И используется ли в новом стандарте C++11 в std::queue<> для хранения новый контейнер std::forward_list<> (однонаправленный список)? 2. И почему в std::deque<> "двунаправленная очередь" не используется для хранения контейнер std::list<> "двунаправленный список"? По сути же это одно и тоже, только у std::deque<> меньше функций доступа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2013, 14:26 |
|
||
|
Почему по стандарту для std::queue используется для хранения std::deque?
|
|||
|---|---|---|---|
|
#18+
std::queue, Потому что вставка и удаление с двух сторон очереди за O(1). А очередь должна меняться именно так, с двух сторон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2013, 20:50 |
|
||
|
Почему по стандарту для std::queue используется для хранения std::deque?
|
|||
|---|---|---|---|
|
#18+
std::queueПочему по стандарту для адаптера std::queue<> "однонаправленная очередь" (FIFO) используется для хранения контейнер "двунаправленная очередь" std::deque<>? Ведь это оверхед на хранение лишних указателей в обратном направлении. Рекомендую подробнее узнать, что из себя представляет внутри deque. Тогда вопрос про указатели отпадет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 00:40 |
|
||
|
Почему по стандарту для std::queue используется для хранения std::deque?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskystd::queueПочему по стандарту для адаптера std::queue<> "однонаправленная очередь" (FIFO) используется для хранения контейнер "двунаправленная очередь" std::deque<>? Ведь это оверхед на хранение лишних указателей в обратном направлении. Рекомендую подробнее узнать, что из себя представляет внутри deque. Тогда вопрос про указатели отпадет Достаточно того, что помимо форвард-итератора, у std::deque ещё есть реверс-итератор: http://www.cplusplus.com/reference/deque/deque/rbegin/ Для std::queue достаточно форвард-итератора, разве нет? Этого достаточно для изъятия всех элементов по очереди начиная с начала. А для добавления к концу достаточно на весь контейнер один указатель на последний элемент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 00:52 |
|
||
|
Почему по стандарту для std::queue используется для хранения std::deque?
|
|||
|---|---|---|---|
|
#18+
достаточно форвард-итератора, Вы не поняли. Там оверхед другого масштаба чем указатель :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 00:59 |
|
||
|
Почему по стандарту для std::queue используется для хранения std::deque?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovskyдостаточно форвард-итератора, Вы не поняли. Там оверхед другого масштаба чем указатель :) Я серьёзно не понимаю, объясните? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2013, 02:16 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38314929&tid=2020118]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 290ms |
| total: | 463ms |

| 0 / 0 |
