【发布时间】:2026-02-18 05:10:01
【问题描述】:
我只是在思考这里的问题数量,要么是关于“三大”(复制构造函数、赋值运算符和析构函数),要么是由于它们没有正确实现而导致的问题,当我想到我可以不记得我上次自己实现它们是什么时候了。对我最活跃的两个项目的快速 grep 表明,我仅在大约 150 个类中的一个类中实现了所有三个。
这并不是说我没有实现/声明其中的一个或多个 - 显然基类需要一个虚拟析构函数,并且我的大量类禁止使用私有复制 ctor 和赋值操作成语进行复制。但是完全实现了,有一个单独的类,它会做一些引用计数。
所以我想知道我在这方面是否不寻常?您多久实现一次所有这三个功能?您实现它们的类有什么模式吗?
【问题讨论】:
-
读到这个问题让我很高兴我不用写C++了! (当然,这大概解释了为什么我很难修改别人的 C++。)
-
-1 @Norman 无需反对 C++。如果您不必编写 C++ 代码,请转到其他问题。我从来不理解人们因为他们不使用某些东西,所以他们想要比没有人使用它,反之亦然。
-
@Norman 我会认为它(和答案)是令人鼓舞的 - 你很少需要做一个复杂的任务。
-
@Norman 有些人可以在需要时使用几种不同的编程语言,使用几种不同的范式流利地编程。如果你做不到,那么说你不习惯的语言是没有价值的。
-
@Norman 好的,我会的。 C++ 是一种允许你喜欢的语言出现的语言。
标签: c++