asignador de memoria no es un nivel inferior de malloc
. (El asignador por defecto normalmente llama malloc
directa o indirectamente)
un asignador simplemente le permite especificar diferentes estrategias de asignación. Por ejemplo, puede usar un asignador que llame al malloc
una vez para recuperar un grupo grande de memoria, y luego para solicitudes de asignación posteriores, simplemente devuelve un pequeño fragmento de este grupo.
O puede usarlo como un gancho para que pueda realizar alguna tarea adicional cada vez que la memoria se asigna o libera.
En cuanto a su segunda pregunta, malloc
es la más baja se puede ir sin perder la portabilidad. malloc
se implementa típicamente utilizando alguna función de asignación de memoria específica del sistema operativo, por lo que aún sería un nivel inferior. Pero eso no está relacionado con su pregunta principal, ya que los asignadores de C++ son una abstracción de mayor nivel.
@muntoo: que no menciona en absoluto asignadores. – jalf
@jalf Todavía estoy aprendiendo a leer. –