title: What is the difference between new and ::new
body: <p>Many libraries like boost use <code>::new</code> and <code>::delete</code> .</p>
  
  <p>Example from <code>boost::make_shared</code></p>
  
  <pre><code>template&lt; class T, class... Args &gt; typename boost::detail::sp_if_not_array&lt; T &gt;::type make_shared( Args &amp;&amp; ... args )
  {
      boost::shared_ptr&lt; T &gt; pt( static_cast&lt; T* &gt;( 0 ), BOOST_SP_MSD( T ) );
  
      boost::detail::sp_ms_deleter&lt; T &gt; * pd = static_cast&lt;boost::detail::sp_ms_deleter&lt; T &gt; *&gt;( pt._internal_get_untyped_deleter() );
  
      void * pv = pd-&gt;address();
  
      ::new( pv ) T( boost::detail::sp_forward&lt;Args&gt;( args )... );
      pd-&gt;set_initialized();
  
      T * pt2 = static_cast&lt; T* &gt;( pv );
  
      boost::detail::sp_enable_shared_from_this( &amp;pt, pt2, pt2 );
      return boost::shared_ptr&lt; T &gt;( pt, pt2 );
  }
  </code></pre>
  
  <p>What does this mean? and why would one use <code>::new</code> over just new?</p>