C ++ - оператор перегрузки new и предоставление дополнительных аргументов

Я знаю, что вы можете перегрузить оператор new . Когда вы это сделаете, ваш метод по умолчанию получает параметр size_t . Однако можно ли отправить параметр size_t , а также дополнительные параметры, предоставленные пользователем, в метод перегруженного оператора new ?

Например,

int a = 5;
Monkey* monk = new Monkey(a);

Потому что я хочу чтобы переопределить новый оператор, как этот

void* Monkey::operator new(size_t size, int a)
{

...

}

Спасибо

РЕДАКТИРОВАТЬ: Вот то, что я хочу выполнить:

У меня есть кусок виртуальной памяти, выделенный в начале приложения (пул памяти). Все объекты, которые наследуют мой базовый класс, унаследуют его перегруженный новый оператор. Причина, по которой я хочу иногда передавать аргумент в перегруженном новом файле, состоит в том, чтобы сообщить своему диспетчеру памяти, хочу ли я использовать пул памяти или хочу выделить его с помощью malloc.

7
задан Ben Voigt 31 December 2011 в 03:03
поделиться