mi è capitato ormai qualche volta di vedere codice del tipo:
container.erase(find(element))
container è un qualsiasi tipo di container della STL che ha la funzione erase, tipo vector, find è o la funzione std::find o la funzione find del container. Il problema è che questa funzione può restituire anche un puntatore all’ultimo elemento del range di ricerca, in questo caso container::end(), cercando online non ho trovato niente che dicesse che fosse corretto e utilizzabile, infatti in ogni caso fare
container.erase(container::end())
è undefined behavior.
La mia domanda è: posso utilizzare questo tipo di scrittura nelle gare senza preoccuparmi del fatto che la funzione erase possa “rompere” tutto il programma?