title: What is the purpose of std::aligned_storage?
body: <p>If I understand it correctly, the main advantage of the <code>std::aligned_storage</code> is that it manages the alignment. Also it can be copied with <code>memcpy()</code> and can be used with POD types.</p>
  
  <p>But! </p>
  
  <p>1) The POD types are aligned by compiler by default and we can override this compiler's alignment using <code>#pragma pack(push, 1)</code></p>
  
  <p>2) We can copy POD with <code>memcpy()</code> by default (we shouldn't do something for this ability)</p>
  
  <p>So I don't really understand why do we need <code>std::aligned_storage</code>?</p>