Re: Использование аллокатора
От: K13 http://akvis.com
Дата: 11.10.19 20:11
Оценка:
Здравствуйте, koenjihyakkei, Вы писали:

K>В некоторых серьезных проектах видел как в классе переопределяют оператор new, для того чтобы выделять память через свой аллокатор.


K>Так вот вопрос, может я чего-то упустил, но я не могу найти плюсов у первого варианта по сравнению со вторым.


А где во втором варианте нестандартное выделение памяти?
В общем случае в первом варианте вместо malloc может быть что угодно -- например, при написании плагина к какой-нибудь системе "большие" куски памяти надо просить через подсистему хоста. Иначе в 32-битном режиме вылетим по Out Of Memory.

Во втором случае память выделяется стандартным new.
Или надо было уж расписывать malloc + placement new и возврат указателя, чтобы функционал двух вариантов совпадал, отличаясь синтаксисом.

Еще одно соображение: первый вариант позволяет одному экземпляру аллокатора работать с разными типами (разных размеров).
Во втором варианте экземпляр аллокатора будет на каждый класс, даже если у разных классов размеры совпадают.
Отредактировано 11.10.2019 20:13 K13 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.