coa*_*nor 3 c++ private-constructor private-methods
在阅读TCPL时,我遇到了一个问题,正如标题所述,然后'私有'类是:
class Unique_handle {
private:
Unique_handle& operator=(const Unique_handle &rhs);
Unique_handle(const Unique_handle &rhs);
public:
//...
};
Run Code Online (Sandbox Code Playgroud)
使用代码是:
struct Y {
//...
Unique_handle obj;
};
Run Code Online (Sandbox Code Playgroud)
我想执行这样的操作:
int main()
{
Y y1;
Y y2 = y1;
}
Run Code Online (Sandbox Code Playgroud)
虽然,这些代码来自TCPL,但我仍然无法得到解决方案......任何人都可以帮助我,欣赏.
顾名思义,这Unique_handle并不意味着被复制.它的实现通过禁用复制构造函数和复制赋值运算符来确保它.
有权访问a的多个实例的一个解决方案Unique_handle是持有指向它的指针,并复制指针.然后多个实例Y指向相同的唯一句柄.
但是,请注意在这种情况下正确管理资源.