STL(g ++ 4.x.xに付属)は、地図などのコンテナを実装するために赤黒のツリーを使用することを理解します。 STL内部の赤黒の木を直接使用することは可能ですか?もしそうなら、どうですか?もしそうでないなら、なぜSTLは赤黒の木を暴露しないのですか?STLのRed-Blackツリーの内部実装の使用
驚いたことに、私はGoogleを使用して答えを見つけることができません。
編集:挿入時に余分なアロケータコンストラクタコールの解決策として赤黒のツリーを使用して調べています。 this questionを参照してください。私のSTLは、マップ実装に赤黒の木を使用しています。
"私は挿入時に余分なアロケータコンストラクタコールの解決策として赤黒のツリーを使用して調査しています。"適切なソリューションは、このプロパティを持たない標準コンテナの実装を使用することです。 C++ 11はステートフルなアロケータを必要とします。したがって、このC++ 11の機能を適切にサポートする標準ライブラリは、より合理的な動作をします(ただし、異なるアロケータインスタンスを構築しますが、元のアロケータオブジェクトからのみ行います)。 –
@Prasoon - それは、とにかくコンストラクタの呼び出しを行う基本的なツリーの実装であるため、ここでは役に立ちません。 gcc 4.1より新しいコンパイラを試してみることはオプションです(前の質問[STL mapのカスタムメモリアロケータ](http:// stackoverflow。com/questions/11373796/custom-memory-allocator-for-stl-map)) –