Constructores de valores de mapas STL
Tengo una clase X que me gustaría poner en un mapa STL de tipo std :: map. Un mapa STL necesita tener X almacenada en la memoria en algún lugar, así que estoy buscando una manera eficiente (tiempo de ejecución y memoria) para crear X y almacenarla en el mapa.
Noté que el siguiente código donde x es un objeto de tipo X y stlMap es un mapa de tipo std :: map:
stlMap["test"] = x;
Resultados en el siguiente llamado:
X constructor por defectoX Copiar constructorX Copiar constructorX destructorX destructorConstructor de asignaciones XX destructor¿Por qué se crean tantos objetos X?
¿Es un uso ineficiente del tiempo y la memoria?
¿Hay una mejor manera de poner un objeto en un mapa? ¿Quizás cambiar el mapa para que sea un mapa de cadenas a x *?