En C++,¿Cuál es la diferencia entre una instancia de un objeto utilizando las nuevas vs. sin
Aparte de asignación dinámica de memoria, ¿hay una diferencia funcional entre las siguientes dos líneas de código:
Time t (12, 0, 0); //t is a Time object
Time* t = new Time(12, 0, 0);//t is a pointer to a dynamically allocated Time object
soy suponiendo, por supuesto, que se haya definido un Time (int, int, int) ctor. También me doy cuenta de que en el segundo caso, será necesario eliminarlo ya que fue asignado en el montón. ¿Hay alguna otra diferencia?
Realmente no cuenta como una respuesta, pero aparte de las respuestas ya dadas, puede interesarte saber que puedes anular el operador nuevo/eliminar si deseas escribir tu propia gestión de memoria (para un mejor rendimiento). –