title: What's the advantage of using std::allocator instead of new in C++?
body: <p>I've just read about <code>std::allocator</code>. In my opinion, it is more complicated to use it instead of using <code>new</code> and <code>delete</code>. </p>
  
  <p>With <code>allocator</code> we must explicitly allocate heap memory, construct it, destroy it, and then finally deallocate the memory. So why was it created? </p>
  
  <p>In which cases can it be used and when should it be used instead of new and delete?</p>