Tengo un mapa como éste¿Es seguro obtener un objeto en std :: map por referencia?
map<int,object> objmap;
object& obj = objmap.find(num)->second;
object& obj2 = objmap[num];
Independientemente de los cambios que hacer en el objeto que se refleja en el mapa. Algo similar no se puede hacer en un vector ya que cambia la ubicación de los objetos cuando quiere más espacio. ¿Es seguro hacerlo en un std :: map? y es aconsejable? La segunda versión da un error ya que mi objeto no tiene un constructor vacío. Si declaro que un constructor vacío no hace nada, ¿funcionarán las dos líneas de la misma manera?
¿Sabes dónde y cómo encontrar dicha información en los documentos? En realidad, ni siquiera sabía cómo buscar esta respuesta: ¿cuál es la forma correcta de decir "los objetos no se mueven"? Supongo que las especificaciones deben definir esto con precisión, ya que es una diferencia tan importante entre un vector y un mapa. – Flynsee