Распределитель Память не более низкий уровень, чемmalloc
. (Распределитель по умолчанию обычно звонит malloc
прямо или косвенно)
Распределитель просто позволяет вам указать различные стратегии распределения. Например, вы можете использовать распределитель, который вызывает malloc
один раз для извлечения большого пула памяти, а затем для последующих запросов на распределение он просто возвращает небольшой кусок этого пула.
Или вы можете использовать его в качестве крючка, чтобы вы могли выполнять дополнительную задачу каждый раз, когда выделена или освобождена память.
Что касается вашего второго вопроса, то malloc
является самым низким, вы можете пойти без потери переносимости. malloc
, как правило, реализуется с использованием некоторой функции выделения памяти для ОС, так что это будет еще ниже. Но это не связано с вашим основным вопросом, поскольку дистрибуторы C++ представляют собой абстракцию более высокого уровня.
@muntoo: это не говоря уже о распределители вообще. – jalf
@jalf Я все еще учу, как читать. –