Entiendo que mi STL (que viene con g ++ 4.x.x) utiliza árboles rojo-negro para implementar contenedores como el mapa. ¿Es posible usar directamente el árbol rojo-negro interno de STL? ¿Si es así, cómo? Si no, ¿por qué no? ¿Por qué STL no expone el árbol rojo-negro?Uso de la implementación interna de STL del árbol rojo-negro
Sorprendentemente, no puedo encontrar una respuesta usando Google.
Editar: Estoy investigando el uso del árbol rojo-negro como una solución a la inserción de llamada del constructor extra allocator. Ver this question. Mi STL usa árboles rojo-negro para la implementación del mapa.
"Estoy investigando el uso del árbol rojo-negro como una solución para la llamada al constructor extra allocator call on insertion". Una solución adecuada sería usar una implementación de contenedores estándar que no tenga esta propiedad. C++ 11 requiere asignadores con estado, por lo que cualquier biblioteca estándar que soporte esta característica de C++ 11 tendrá un comportamiento más razonable (aunque seguirá construyendo diferentes instancias de asignador, solo lo hará desde el objeto asignador original). –
@Prasoon - No te ayudaría aquí, porque es la implementación del árbol subyacente la que hace las llamadas al constructor de todos modos. Probar un compilador más nuevo que gcc 4.1 sería una opción (pregunta previa [asignador de memoria personalizado para el mapa STL] (http: // stackoverflow.com/questions/11373796/custom-memory-allocator-for-stl-map)) –