C++语言
Completion requirements
传统上,类可以提供“拷贝构造函数” CRType::CRType(const CRType& x) {...}
和 “拷贝赋值操作符” CRType& CRType::operator=(const CRType& x) {...}
。这些函数会在多种情况下使用,例如通过 CRType oDesti(oSource);
定义 oDesti
(其中 oSource
已经定义为一个 CRType
对象)。如果 CRType
是某种自定义容器,那么这两个函数通常通过深拷贝所有包含的项来实现,这可能是计算上昂贵的操作。
在现代软件中,这些操作被“移动构造函数”和“移动赋值操作符”函数所补充,它们仅通过传递有效负载句柄来实现。函数重载可以区分“移动构造函数”和“拷贝构造函数”,因为移动构造函数的参数类型是“右值引用” CRType&&
。
Last modified: Tuesday, 28 January 2025, 12:39 AM