Top.Mail.Ru
Ответы

.Как выделяется память при new /malloc? В чем отличия от выделения памяти с помощью аллокатора?

Дополнен

Что делает функция ?
int *p = NULL;
p = v.get_allocator() .allocate(10);

По дате
По рейтингу
Аватар пользователя
Мудрец
7лет

malloc() - просто обращается к системе.
new/allocator - это обёртка malloc() + обработчик ошибок + инициализация этой памяти как и memset()/memcpy() + ещё пытается что-то там отслеживать...

Аватар пользователя
Просветленный
7лет

Как я понимаю, allocator - это специальный объект, управляющий выделением динамической памяти. Шаблоны STL всегда используют allocator для выделения памяти. Можно определить свой allocator, который будет выделять память особым образом. Если это не требуется, используется стандартный allocator.