Quiero cambiar el elemento en un set
, entonces utilicé set<T>::iterator
. Sin embargo, el compilador argumenta que "el elemento es const". Entonces me di cuenta de que set<T>::iterator
es un const_iterator
...¿Cómo cambiar un elemento establecido?
Entonces, ¿cómo puedo cambiar el elemento? ¿Borrarlo e insertar uno nuevo?
Sin embargo, se debe mencionar que algunos cambios en un elemento no afectan la forma en que se ordenan. Si desea realizar un cambio que esté seguro de que no afecta el orden de clasificación, siempre hay 'const_cast' como último recurso. Arriesgado y no hermoso, pero sin embargo. – jogojapan
gracias. Lo sé. ¿Entonces esta es la única forma de modificar el elemento? –
Como 'erase' no arroja a menos que el código de usuario que llama arroja, probablemente sea mejor insertar el nuevo elemento y luego borrar el anterior. Eso le da una oportunidad de la fuerte garantía de excepción. –