title: char array as storage for placement new
body: <p>Is the following legal C++ with well-defined behaviour?</p>
  
  <pre><code>class my_class { ... };
  
  int main()
  {
      char storage[sizeof(my_class)];
      new ((void *)storage) my_class();
  }
  </code></pre>
  
  <p>Or is this problematic because of pointer casting/alignment considerations?</p>