title: std::move a std::unique_ptr into stl containers. (MSVC compiler issue)
body: <p>There is a known bug with MSVC compiler where default move consturctors are not created.</p>
  
  <p>The problem is I have a lot of classes that look similar to this:</p>
  
  <pre><code>struct User {
      std::string FirstName;
      std::string LastName;
      std::string Address;
      std::string PostalCode;
      std::string City;
  
      std::vector&lt;std::unique_ptr&lt;ProjectBase&gt;&gt; Projects;
  };
  </code></pre>
  
  <p>How do I take a class like this and convert it into something that would work in this scenario:</p>
  
  <pre><code>std::vector&lt;std::unique_ptr&lt;User&gt;&gt; users;
  {
      // I use this logic often (create a temporary object and move it into stl container
      auto new_user=make_unique&lt;User&gt;();
      users.push_back(std::move(new_a));
  }
  users.back()-&gt;FirstName="Should";
  users.back()-&gt;LastName="Work";
  
  std::cout &lt;&lt; "First Name: " &lt;&lt;  users.back()-&gt;FirstName &lt;&lt; std::endl;
  </code></pre>
  
  <p>The above code DOES NOT work in Windows Phone 8 (because there is no move constructor) but works WORKS with a Visual Studio 2012 (v110) toolkit.</p>
  
  <p>How would my User class look like if it had move constructors so it would work with Windows Phone 8?</p>