title: In memory layout of a C++ complex number
body: <p>I am working with a C/C++ FFT library that takes an array of floats as argument. In particular, the routines take an array of 2N floats as argument. I.e., in order to do a N points FFT you pass 2N floats (real and imaginary part of each point).</p>
  
  <p>If I am working with an array of elements of type <code>std::complex&lt;float&gt;</code>, can I pass this array as argument to the FFT routines? What's the in memory layout of each element? Two floats or something else? Would it be safe?</p>