title: Can I initialize a std::vector with '=' thanks to the operator overloading?
body: <p>I noticed that in C++11 I can initialize a vector in the following ways(not only these):</p>
  
  <pre><code>std::vector&lt;int&gt; v1{0,1,2};
  std::vector&lt;int&gt; v2={3,4,5};
  </code></pre>
  
  <p>I suppose that in the first line the following constructor is used:</p>
  
  <pre><code>vector( std::initializer_list&lt;T&gt; init,
          const Allocator&amp; alloc = Allocator() );
  </code></pre>
  
  <p>My doubt is whether the second line uses the same constructor or the operator overloading of '=' is involved.</p>
  
  <p>Here <a href="http://en.cppreference.com/w/cpp/language/list_initialization" rel="nofollow noreferrer">http://en.cppreference.com/w/cpp/language/list_initialization</a>, it says that</p>
  
  <pre><code>T object = {arg1, arg2, ...};
  </code></pre>
  
  <p>is considered as an initializer_list, right? In this case the overloading of '=' shouldn't be involved right?</p>