11.12.2006, 11:23
общий
это ответ
Здравствуйте, Mixffff!
1) нет
1.а) а зачем ?
2) да, см. ниже.
3) конечно, изменение исходных текстов библиотек (и stl в том числе) нигде не приветствуется, как правило это не просто плохой стиль программирования, а очень плохой.
4) не знаю, не видел того что есть в IDA.
Что касается вопроса. У списков есть специальные предусмотренные для этого функции врезки. Они как раз и делают то что тебе нужно - переназначают внутренние указатели в списках.
list1.splice(pos, list2, iter_start, iter_end) - перемещает все элементы из интервала обозначенного итераторами iter_start, iter_end из list 2 в list1, перед позицией итератора pos в списке list1.
Это самый универсальный splice - там есть еще несколько перегруженных подобных функций.
В этом случае он переназначит указатели, и 2-ой список останется уже без этих элементов, которые были перенесены в 1-ый.