title: What does the standard say about unaligned memory access?
body: <p>I've searched through the standard about unaligned access, but didn't find anything (maybe I was inadvertent).</p>
  
  <p>Is it undefined behavior? Is it implementation defined?</p>
  
  <p>As a lot of current CPUs support unaligned access, it would be sensible that unaligned memory access is implementation defined. Is it the case?</p>
  
  <p>By unaligned access, I mean for example:</p>
  
  <pre><code>alignas(int) char buffer[sizeof(int)+1];
  int &amp;x = *new(buffer+1) int;
  x = 42;
  </code></pre>