レガシーアプリケーションで使用するために、ADO/ODBCを使用してデータベースにアクセスするためのマルチスレッドDLLを作成してきました。スレッドごとに複数のデータベース接続を維持する必要があるため、接続ごとにADOオブジェクトをオブジェクトに配置し、それらの配列をカスタムthreadInfoオブジェクト内に保持することを検討しました。明らかに、ここではベクトルの方が適しています。外出先でオブジェクトを削除/再配置する必要があります。ベクトルを使用すると、それが単純化されます。問題は、ヒープの競合などを回避するためにスレッドごとにヒープを割り当て、そこからすべてのメモリを割り当てることです。
だから私の質問は:どうすればベクトルをスレッド固有のヒープから割り当てることができますか?(または、ラッパークラスと同じヒープからメモリを割り当てることを内部的に知っているでしょうか?可能性は低いですが、私はC ++の人ではありません)少しグーグルで調べたところ、アロケータなどを作成する必要があるようです-これは私が望まない仕事のように見えます。他に方法はありますか?ベクトルは配置を使用していると聞きました-内部のすべてのものに新しいので、オーバーロード演算子newをそれに組み込むことができますか?
私は主にCプログラマーであるため(それでも-比較的)、C++の内部に関する私の知識は役に立ちません。どこかで初歩的なものが欠けている可能性が非常に高いです。簡単なことは何も思い浮かびません-私はただ配列のことをするかもしれませんが、うまくいけばそれは実現しません。
私はMS-VC++6.0を使用しています(笑うのは失礼です!:-P)。
どんな/すべての助けも大歓迎です。