3

タイトル長くてすみません〜

deallocate()空のメモリ プールの上に単純なアロケータを実装しています。STL コンテナーがこのアロケーターと共に使用され、コンテナーの要素が自明に破壊可能である場合、コンテナーのデストラクタを完全に呼び出さないようにすることはできますか?

標準はおそらくノーと言いますが、私にはわかりません。IMO、この動作が許可されている場合、STL コンテナーはアロケーターから割り当てられたメモリ以外のリソースを取得できず、STL ベンダーを制限しすぎます。私は標準の専門家ではありません。間違っていることが証明されれば幸いです。

ただし、単純なアロケータを libstdc++ や libc++ などの実際の実装と一緒に使用すると、プログラムでメモリ リークが発生したり、他の問題が発生したりしませんか?

4

0 に答える 0