你多久一次实施三巨头?

15 c++

我只是在思考这里的问题数量,要么是关于"三巨头"(复制构造函数,赋值运算符和析构函数),要么是关于它们没有被正确实现的问题,当我发现我不记得了上次我自己实施了它们.对我最活跃的两个项目的快速grep表明,我在大约150个类中只实现了所有三个类.

这并不是说我没有实现/声明它们中的一个或多个 - 显然基类需要一个虚拟析构函数,而且我的大量类禁止使用私有拷贝ctor和assignment op idiom进行复制.但是完全实现了,有一个孤独的类,它做了一些引用计数.

所以我想知道我在这方面不寻常吗?你经常实施所有这三个功能?您实现它们的类是否有任何模式?

Pup*_*ppy 2

我认为这三个都需要的情况很少见。大多数需要显式析构函数的类并不真正适合复制。

使用自毁成员(通常不需要复制构造之类的东西)比使用大的显式析构函数是更好的设计。