C++:三法则,为什么

C++: Rules of three, Why?

本文关键字:为什么 C++      更新时间:2023-10-16

可能的重复项:
什么是三法则?

我在书中读到过关于C++设计课程时的三条规则:

If you define any one of three in class, then you should define all of three.
1) destructor
2) copy constructor
3) Copy assignment constructor

我了解如何在C++中实现这些。但我无法解释为什么当我们已经有一个时,我们应该做所有三个。这之间有什么联系,请告诉我。

谢谢:)

基本上是定义其中一个(而不是依赖自动机制)的原因,同样的原因也适用于其他"构造函数"。