读书中TCPL,我遇到了一个问题,正如标题所提到的,然后“私有”类是:
class Unique_handle {
private:
Unique_handle& operator=(const Unique_handle &rhs);
Unique_handle(const Unique_handle &rhs);
public:
//...
};
使用代码是:
struct Y {
//...
Unique_handle obj;
};
我想执行这样的操作:
int main()
{
Y y1;
Y y2 = y1;
}
虽然,这些代码来自TCPL,但我仍然无法得到解决方案......
有人可以帮助我吗,不胜感激。
顾名思义,Unique_handle
并不意味着被复制。它的实现通过禁用复制构造函数和复制赋值运算符来确保这一点。
一种解决方案,用于多个实例访问一个Unique_handle
持有一个指向它的指针,并复制该指针。然后是多个实例Y
指向同一个唯一的句柄。
小心但是,在这种情况下要正确管理资源。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)