¿Está garantizado que el nuevo operador asigna un trozo continuo de memoria de montón? Es decir. esNuevo operador de C++ - diseño de memoria
objects=new Base[1024];
en términos de asignación de memoria lo mismo que
objects=(Base*)malloc(1024*sizeof(base));
o puede haber lagunas?
No es exactamente lo mismo. La 'nueva []' versión llamará al constructor predeterminado en cada objeto. –
@ edA-qamort-ora-y eso es lo que dije ... –
Lo siento, estoy ciego hoy supongo. Sin embargo, la nueva versión asignará un poco más de espacio para recordar el tamaño de la matriz para que 'delete []' pueda llamar al número correcto de destructores. Por supuesto, es una pequeña diferencia en el espacio. –