title: How to create a C-style array without calling default constructors?
body: <p>I am writing a memory-managing template class in which I want to create a C-style array of fixed size, to serve as a heap. I keep the objects stored in an array like this:</p>
  
  <pre><code>T v[SIZE];
  </code></pre>
  
  <p>As this only serves the role as a heap that can hold T objects, I don't want the T default constructor to get automatically called for every object in the array.</p>
  
  <p>I thought about the solution to define the heap like this:</p>
  
  <pre><code>char v[SIZE * sizeof(T)];
  </code></pre>
  
  <p>...but this will give me alignment problems.</p>
  
  <p>Is there any better way to achieve this?</p>
  
  <p>ADD: As I have special run time requirements, it is essential that this class doesn't do any allocations on the global heap.</p>
  
  <p>ADD 2: SIZE is a template argument and known at compile-time.</p>