title: why copy constructor called but not move constructor in c++11?
body: <p>This is the C++ test I do. I thought move constructor would be called, but it's not. neither the two cases will call move constructure.</p>
  <pre><code>class MyTest
  {
  public:
      MyTest() {}
      ~MyTest() {}
      MyTest(const MyTest&amp; lv) {}     // be called actually 
      MyTest(MyTest&amp;&amp; rv) {}          // not be called actually, but i thought would
      void operator=(const MyTest&amp; lv) {
          MyTest(std::move(lr));      // i thought the move constructor would be called here
      }
  };
  int main()
  {
      // case1:
      MyTest m1;
      MyTest m2 = m1;
  
      // case2:
      MyTest m3;
      MyTest m4;
      m4 = m3;       // move constructure will not be called either.
      return 0;
  }
  </code></pre>