title: Is it guaranteed that std::vector default construction does not call new?
body: <p>According to <a href="http://en.cppreference.com/w/cpp/container/vector/vector" rel="noreferrer">the reference</a> a simple <code>std::vector&lt;T&gt; vec;</code> creates an emtpy container (default constructor). Does this guarantee that there is no dynamic memory allocation?
  Or may an implementation chose to reserve some memory?</p>
  
  <p>I known that, for this empty constructor, there is no construction of the type <code>T</code> since C++11.
  However, I wonder, if there is also a guarantee that nothing is allocated on heap. I.e. that the above line is just a few <code>nullptr</code> on stack/member.</p>
  
  <p>I tested it with vc140, where it is indeed free of dynamic allocations.</p>