Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« : 06-10-2010 06:58 » |
|
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #1 : 06-10-2010 10:28 » |
|
Неужели за столько лет никто не столкнулся с этой багой? Не верится...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #2 : 06-10-2010 10:34 » |
|
не знаю А я так и не успел с deque поработать ещё
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #3 : 06-10-2010 11:11 » |
|
Я, благо VC не использую. У меня Borland. Там много предупреждений компиляции, но работает как надо.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
lapulya
Молодой специалист
Offline
|
|
« Ответ #4 : 06-10-2010 11:20 » |
|
Lol Thanks again for reporting this bug. We've fixed it, and the fix will be available in VC11.
...
Thanks for reporting this bug. We've confirmed that your code triggers a spurious debug assertion. Unfortunately, it's too late to fix this in VC10, but we're keeping this bug open so that it can be fixed in VC11.
....
Stephan T. Lavavej Visual C++ Libraries Developer В существующих тулах никто ничего менять даже не собирается )))
|
|
|
Записан
|
С уважением Lapulya
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 06-10-2010 11:30 » |
|
это они намякивают на скорый выход новой студии, наверное )
и все, кто использует дек, туда шустро перейдут
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #6 : 06-10-2010 13:31 » |
|
Неужели за столько лет никто не столкнулся с этой багой? Не верится...
Сценарий непростой - сначала куда-то в deque забраться итератором, потом из начала что-то удалить, а потом продолжить работать со старым итератором. Работая с другими контейнерами, я лично привык уже разделять итерирование и удаление элементов (erase-remove и другие простые способы отфильтровать содержимое тому способствуют).
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #7 : 06-10-2010 17:33 » |
|
Вад, ну, это не так сложно. Например, перебирать deque в цикле итератором и удалить какой-то элемент, но не тот, на который указывает итератор цикла.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
lapulya
Молодой специалист
Offline
|
|
« Ответ #8 : 06-10-2010 18:14 » |
|
думаю, что это связано, что декуе используется значительно реже других контейнеров, был бы этот баг в векторе, был бы багрепорт еще в бетте студии. Ну мы бы точно зарепортили еще в 98 году ))), в то время вектор вертели как только можно.
|
|
|
Записан
|
С уважением Lapulya
|
|
|
RXL
|
|
« Ответ #9 : 06-10-2010 18:19 » |
|
Я использовать deque вместо vector начал только после рекомендаций здесь на форуме: deque оптимальнее работает с памятью.
|
|
« Последнее редактирование: 06-10-2010 18:24 от RXL »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 06-10-2010 18:23 » |
|
а чем оптимальнее то ? чем вектор указателей отличается от дек ?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #11 : 06-10-2010 18:26 » |
|
Леш, попробуй поискать по форуму в длинннннющей теме про STL. Суть в том, что вектор - непрерывный массив, когда как deque - набор блоков. Когда надо расширить вектор, если нет свободного места, то выделяется новый кусок памяти и туда копируется все текущее содержимое вектора. Это весьма накладно при больших списках.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #12 : 06-10-2010 18:34 » |
|
ага, про поведение вектора я в курсе. Учитываю всегда )
но это есть единственное различие ихнее ?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #13 : 06-10-2010 18:47 » |
|
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Антон (LogRus)
|
|
« Ответ #14 : 07-10-2010 04:47 » |
|
ну насчёт random-access Вад загнал, оно там есть, но не через указатели
|
|
|
Записан
|
Странно всё это....
|
|
|
Вад
|
|
« Ответ #15 : 07-10-2010 06:47 » |
|
ну насчёт random-access Вад загнал, оно там есть, но не через указатели
Ну, да, я скорее имел в виду непрерывность буфера с вытекающей возможностью передать вектор как указатель на память куда-то в c-шный код. Последний абзац - нагнал
|
|
« Последнее редактирование: 07-10-2010 06:50 от Вад »
|
Записан
|
|
|
|
|