title: Why would you ever make operator `new` private?
body: <p>I'm using <a href="http://www.prismtech.com/dds-community">OpenSplice DDS</a>, and there, almost all C++ classes (basic ones that I used, I can mention them if that matters) have overloaded <code>new</code> operators to be private (to prevent users from using them). I don't understand, why would anyone do that? Could someone provide some examples that show the necessity of this?</p>
  
  <p><strong>Why I need <code>new</code></strong>: Because most of these classes don't have default constructors, and I need to initialize them later in my implementation through a <code>unique_ptr</code>.</p>
  
  <p><strong>Easy trick:</strong> On the other hand... I can very easily trick this! I can just wrap this class with another class, and use <code>new</code> all I want, right? Hence I don't understand the motivation and it feels like bad style. Could someone explain?</p>
  
  <hr>
  
  <p>EDIT:</p>
  
  <p>Just to clarify: Providing a good example where this can't be escaped is a good answer. It'll be helpful for all people who see <code>new</code> operators made private.</p>