这是我第一次使用C++0x右值引用进行实验,似乎发生了一些奇怪的事情。在下面的代码示例中,工厂函数MakeWindow按值返回一个Window对象。调用者使用它来初始化一个Window对象。如果我理解正确,这应该调用移动构造函数。为了检测到这一点,我在那里抛出了一个异常。最重要的是,我禁用了复制构造函数:#include//FakeWinAPItypedefvoid*HWND;HWNDCreateWindow(){return(void*)1;}voidDestroyWindow(HWND){}//EndWinAPI//C++WinAPIWrapperLibraryclassWindo