Así que si reservo (100) primero, agrego algunos elementos, y luego cambio de tamaño (0) (o cualquier otro número más pequeño que el tamaño actual), ¿el vector reasignará la memoria a una toma de menos de 100 elementos?¿El cambio de tamaño() a un tamaño más pequeño descarta la reserva hecha por la reserva anterior()?
Q
¿El cambio de tamaño() a un tamaño más pequeño descarta la reserva hecha por la reserva anterior()?
6
A
Respuesta
6
vector<T>::resize(0)
no debe causar una reasignación o eliminación de memoria asignada, y por esta razón en la mayoría de los casos es preferible a vector<T>::clear()
.
Para más detalles ver las respuestas a esta pregunta: std::vector resize downward
2
Haciendo un vector::resize(0)
oa un recuento más pequeños en lugar de recuento actual no debe liberar cualquier memoria. Sin embargo, puede destruir estos elementos.
Para una referencia en std::vector::resize
, echar un vistazo a std::vector::resize
Cuestiones relacionadas
- 1. Cambio de la reserva de memoria de C++ vector
- 2. reserva vectorial C++
- 3. C++ elenco a la matriz de un tamaño más pequeño
- 4. Django Reserva de la aduana Modelo
- 5. PHP momento escritura de reserva a cabo
- 6. Beneficios del uso de la reserva() en un vector - C++
- 7. ¿Por qué JavaScript reserva palabras clave Java?
- 8. std :: vector :: reserva de penalización en el rendimiento
- 9. Comportamiento del método de reserva de vector()
- 10. ¿Por qué el tamaño del binario final sería mucho más pequeño que el tamaño de la biblioteca estática?
- 11. reserva de la aduana método en el modelo - django
- 12. cómo la altura de reserva mientras la pantalla es ninguna
- 13. Estableciendo un tamaño de búfer más pequeño para sys.stdin?
- 14. Esquema de la base de datos - Sistema de reserva/disponibilidad
- 15. ¿Cuál es la forma más fácil de crear un sitio web de reserva de citas?
- 16. ¿Por qué mi programa Winforms reserva tanta memoria virtual?
- 17. ¿Memoria de reserva para la lista en Python?
- 18. Área de la pantalla de reserva en Windows 7
- 19. ¿Cómo puedo hacer que el tamaño de la imagen sea más pequeño en un botón?
- 20. reserva() de memoria multidimensional std :: vector (C++)
- 21. ¿Mysql Text DataType reserva espacio de memoria
- 22. ¿Puedo asumir que llamar a realloc con un tamaño más pequeño liberará el resto?
- 23. Reserva de un nombre de paquete en Google Play
- 24. Matplotlib make tick labels tamaño de fuente más pequeño
- 25. UIScrollView rebota cuando el contenido es más pequeño que el tamaño de la vista
- 26. cambio de tamaño de la cuadrícula al cambiar el tamaño de la ventana del navegador
- 27. JSF EL: ¿instancia de reserva pero aún no implementada?
- 28. Java Aleatorio, un pequeño cambio en la semilla causa un pequeño cambio en la salida
- 29. ¿Cómo vincular el cambio de tamaño de escenario con el cambio de tamaño de los componentes?
- 30. ¿Por qué el tamaño del instalador de .NET Framework 4.0 es más pequeño que 3.0/3.5?
'clear' no causa una reasignación tampoco, así que no veo por qué sería preferible ... – ildjarn
que he visto, al menos, una implementación donde 'clear' liberó la memoria. –
@MarkB: no debería haberlo hecho. : P – GManNickG