当前位置: 代码迷 >> 综合 >> 关于C++11的Move构造函数和栈上的局部对象
  详细解决方案

关于C++11的Move构造函数和栈上的局部对象

热度:75   发布时间:2024-01-20 02:13:49.0

关于C++11的Move构造函数和栈上的局部对象

看一个测试例子:

class testMove{
public:explicit testMove(int n = 0): data{ n }{std::cout << "explicit constructor for testMove" << std::endl;}~testMove() {std::cout << "Destructor for TestMove" << std::endl;}testMove(const testMove & rhs):data{ rhs.data }{std::cout << "Invoke the copy constructor" << std::endl;}testMove(testMove && rhs):data{ rhs.data }{std::cout << "Invoke the move constructor" << std::endl;rhs.data = 0;}private:int data;
};testMove getTestMoveFromStack() {testMove test{ 10 };return test;
}int _tmain(int argc, TCHAR* argv[], TCHAR * env[])
{testMove tt = getTestMoveFromStack();return 0;
}