Я знаю, вы можете перегрузить оператора new
.Когда вы это делаете, ваш метод получает параметр size_t
по умолчанию.Однако возможно ли отправить параметр size_t
, а также дополнительные пользовательские параметры, в перегруженный метод оператора new
?
Например,
int a = 5;
Monkey* monk = new Monkey(a);
Поскольку яхочу переопределить новый оператор следующим образом
void* Monkey::operator new(size_t size, int a)
{
...
}
Спасибо
РЕДАКТИРОВАТЬ: Вот что я хочу сделать:
У меня есть часть виртуальной памяти, выделенной в началеприложения (пул памяти).Все объекты, которые наследуют мой базовый класс, будут наследовать его перегруженный новый оператор.Причина, по которой я иногда хочу передать аргумент в перегруженном новом, заключается в том, чтобы сообщить диспетчеру памяти, хочу ли я использовать пул памяти или выделить его с помощью malloc.