title: Is &vec[0] defined behavior for a std::vector vec?
body: <p>I see this a lot:</p>
  
  <pre><code>std::vector&lt;Something&gt; vec;
  do_something_with_vec(vec);
  Something *arr=&amp;vec[0];
  do_something_that_needs_carray(arr);
  </code></pre>
  
  <p>I mean, a vector will probably use an array internally so I see why this works, I'm just wondering whether or not this is defined behavior (like, is an implementor allowed to run an implementation of std::vector with which this would break).</p>
  
  <p>If there are conflicts between the standards, I'm interested in what the C++11 standard says.</p>