¿Cuál es la diferencia entre las funciones front()
y begin()
que aparecen en muchos contenedores STL?La diferencia entre front() y begin()
Respuesta
begin()
devuelve un iterador que se puede usar para recorrer la colección, mientras que front()
simplemente devuelve una referencia al primer elemento de la colección.
+1 Solo para hacer las cosas más explícitas (o tal vez complicadas): '& c.front() == & * c.begin()' para cualquier contenedor que tenga al menos un elemento. Comparando la * dirección-de * las expresiones se usa para demostrar que no son los * valores * los mismos, pero los * objetos * (es decir, 'c.front()' produce una referencia al mismo objeto que la desreferenciación del begin iterator '* c.begin()'). –
front()
devuelve una referencia al primer elemento, begin()
le devuelve un iterador.
Tenga en cuenta que no debe llamar front
en un recipiente vacío, pero es bien llamar begin
, siempre y cuando no lo hace eliminar la referencia al iterador que begin
devoluciones.
'begin()' también funciona si no hay primer elemento. –
El miembro front
devuelve una referencia al primer miembro de una lista o vector. La función begin
devuelve un iterador (que es más como un puntero) inicializado al primer miembro de una lista, mapa o vector.
De http://www.cplusplus.com/reference/stl/vector/begin/ (literalmente, el primer resultado en Google de "vector :: empezar"):
en cuenta que a diferencia miembro de
vector::front
, que devuelve una referencia al primer elemento, esta función devuelve un iterador de acceso aleatorio.
- 1. Diferencia entre las [...] API asincrónicas Async y Begin [...] .NET
- 2. La diferencia entre $ * y $ @
- 3. ¿Hay alguna diferencia de rendimiento entre Begin * y * Async para sockets en .NET?
- 4. SQL Server BEGIN/END vs BEGIN TRANS/COMMIT/ROLLBACK
- 5. Diferencia entre servlet y servicio web
- 6. diferencia entre la especulación y la predicción
- 7. ¿Cuál es la diferencia entre == y === en Verilog?
- 8. Diferencia entre objeto y *?
- 9. Diferencia entre. y #
- 10. Diferencia entre & y &
- 11. VBA: Diferencia entre y y +
- 12. MySQL: diferencia entre ', `,' y"
- 13. ¿Diferencia entre == y caso?
- 14. La diferencia entre MousEventArgs.Location y Cursor.Position
- 15. La diferencia entre 'AND' y '&&' en SQL
- 16. Diferencia entre la clase abstracta y Rasgo
- 17. La diferencia entre cin.ignore y cin.sync
- 18. La diferencia entre unsigned long y UINT64
- 19. diferencia entre el reenvío y la redirección
- 20. ¿Cuál es la diferencia entre {0} y ""?
- 21. Cuál es la diferencia entre = y: =
- 22. Python: La diferencia entre usar "y "
- 23. La diferencia entre Symfony y Silex
- 24. ¿Cuál es la diferencia entre .ToString (+) y ""
- 25. Diferencia entre esto y la base
- 26. Cuál es la diferencia entre $ (...) y `...`
- 27. ¿cuál es la diferencia entre:.! y: r !?
- 28. ¿Cuál es la diferencia entre ".equals" y "=="?
- 29. ¿Cuál es la diferencia entre dict() y {}?
- 30. ¿Cuál es la diferencia entre `##` y `hashCode`?
'front()' es idéntico a '* begin()'. – ildjarn
¿Por qué esto se downvoted: S? Es una pregunta válida, bueno. –
El botón de abajo dice "esta pregunta no muestra ningún esfuerzo de investigación": parece bastante aplicable. – ildjarn