Я писал многопоточную DLL для доступа к базе данных с использованием ADO / ODBC для использования с унаследованным приложением. Мне нужно сохранить несколько соединений с базой данных для каждого потока, поэтому я поместил объекты ADO для каждого соединения в объект и подумал о том, чтобы сохранить их массив внутри пользовательского объекта threadInfo. Очевидно, что вектор будет работать лучше здесь - мне нужно удалять / переставлять объекты на ходу, а вектор упростит это. Проблема в том, что я выделяю кучу для каждого потока, чтобы избежать конфликтов и прочего, и выделяю всю свою память оттуда.
Итак, мой вопрос: как сделать так, чтобы вектор выделялся из динамической кучи? (Или он знает, как внутренне распределять память из той же кучи, что и его класс-обертка - звучит маловероятно, но я не парень C ++) Я немного погуглил и похоже, что мне может понадобиться написать распределитель или что-то - которая выглядит как большая часть работы, которую я не хочу. Есть ли другой путь? Я слышал, что вектор использует размещение нового для всего, что находится внутри, так может ли оператор перегрузки new работать с ним?
Мое скудное знание внутренностей C ++ не помогает, поскольку я в основном программист на C (даже в этом - относительно). Вполне возможно, я где-то упускаю что-то элементарное. Если не получится ничего проще - я мог бы просто пойти и заняться массивом, но, надеюсь, до этого не дойдет.
Я использую MS-VC ++ 6.0 (эй, грубо смеяться! :-P).
Любая / вся помощь будет высоко ценится.