title: C++ - overload operator new and provide additional arguments
body: <p>I know you can overload the operator <code>new</code>. When you do, you method gets sent a <code>size_t</code> parameter by default. However, is it possible to send the <code>size_t</code> parameter - as well as additional user-provided parameters, to the overloaded <code>new</code> operator method?</p>
  
  <p>For example</p>
  
  <pre><code>int a = 5;
  Monkey* monk = new Monkey(a);
  </code></pre>
  
  <p>Because I want to override new operator like this</p>
  
  <pre><code>void* Monkey::operator new(size_t size, int a)
  {
  
  ...
  
  }
  </code></pre>
  
  <p>Thanks</p>
  
  <h3>EDIT: Here's what I a want to accomplish:</h3>
  
  <p>I have a chunk of virtual memory allocated at the start of the app (a memory pool). All objects that inherit my base class will inherit its overloaded new operator. 
  The reason I want to sometimes pass an argument in overloaded new is to tell my memory manager if I want to use the memory pool, or if I want to allocate it with malloc. </p>