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