title: C++ Move Constructor
body: <p>What is the correct way of using or creating a move constructor?</p>
  
  <p>Here is an example:</p>
  
  <pre><code>class Example
  {
  public:
      Example( int &amp;&amp; p_Number,
               bool &amp;&amp; p_YesNo,
               std::string &amp;&amp; p_String ) : // Error here
               Number( p_Number ),
               YesNo( p_YesNo ),
               String( p_String )
      {
      };
  
  private:
      int Number;
      bool YesNo;
      std::string String;
      std::vector&lt; unsigned char &gt; Vector;
  };
  
  void ShowExample( void )
  {
      Example ExampleA( 2013,
                        true,
                        "HelloWorld" // Why won't it work?
                        );
  };
  </code></pre>
  
  <p>I've shown the errors in the comment.</p>
  
  <p><strong>Edit:</strong>
  *<em>Okay, I am now sure what I have is not a move constructor. So, can I write one?</em>*</p>