leí la descripción de std::nth_element
en http://www.sgi.com/tech/stl/nth_element.html¿Cuál es el efecto de std :: nth_element (a.begin(), a.end(), a.end())?
template <class RandomAccessIterator>
void nth_element(RandomAccessIterator first, RandomAccessIterator nth,
RandomAccessIterator last);
Tenga en cuenta que las condiciones previas son
- [primero, de orden n) es un rango válido.
- [enésimo, último lugar] es un rango válido.
Mi pregunta es:
¿Es válido para llamar std::nth_element(a.begin(), a.end(), a.end())
? Si es así, ¿cuál es su efecto? No viola las condiciones previas arriba, de todos modos. En cualquier lugar del estándar de idioma (u otros documentos), se indicó que nth
debe apuntar a un elemento en a
?
¿Por qué no lo pruebas y ves el efecto? –
El resultado de una prueba no es confiable. Puede ser dependiente de la implementación. En realidad, me pregunto dónde se especifica este problema en el estándar de C++. – updogliu
@updogliu El último texto estándar es sustancialmente el mismo que el de la página SGI que vinculó. – Potatoswatter