对于无复制/无移动类型,要扩展的最小类是什么?
作者:Josu Goñi 提问时间:8/30/2021
假设我想创建一些类来管理不应复制或移动的资源,这将是扩展和避免错误的最小类? 这个想法是,通过扩展类,我以 0/3/5 规则的安全侧结束。 我心里有这个想法,这显然是有效的。 class NOC...
五法则 问答列表
作者:Josu Goñi 提问时间:8/30/2021
假设我想创建一些类来管理不应复制或移动的资源,这将是扩展和避免错误的最小类? 这个想法是,通过扩展类,我以 0/3/5 规则的安全侧结束。 我心里有这个想法,这显然是有效的。 class NOC...
作者:alexeykuzmin0 提问时间:7/31/2016
在阅读 Bjarne Stroustrup 的 CoreCppGuidelines 时,我发现了一个与我的经验相矛盾的指南。 C.21 要求满足以下条件: 如果定义或任何默认操作,请定义或全部定义...
作者:Vasilii Rogin 提问时间:4/21/2023
我有一个具有自己的资源管理的类: class Lol { private: // This is data which this class allocates char *mName = n...
作者:alexeykuzmin0 提问时间:7/31/2016
在阅读 Bjarne Stroustrup 的 CoreCppGuidelines 时,我发现了一个与我的经验相矛盾的指南。 C.21 要求满足以下条件: 如果定义或任何默认操作,请定义或全部定义...
作者:Myrddin Krustowski 提问时间:11/10/2022
当将赋值操作声明为 时,使它们成为引用限定以防止赋值给临时操作有什么错误吗?(大多数情况下,它可以防止愚蠢的错误)。 通用资源,不要说任何关于“默认”操作的引用限定符,到目前为止我看到的几乎每个示例都...
作者:incubus 提问时间:7/6/2021
在使用接口(无论如何是这个概念)和抽象类时,我试图弄清楚五法则,并努力理解规则是如何工作的。 假设我有一个这样的布局: #include <memory> #include <optional> ...
作者:user_185051 提问时间:9/8/2020
如果我有一个班级,成员是这样的: class MyClass { public: void set_my_vector() { for (int ind = 0; ind < 3; ++ind)...
作者:Rsevero 提问时间:1/30/2022
我正在研究五法则和它的表亲(四法则和 1/2、复制和交换成语、朋友交换函数)。 我在测试课上实施了四法则和 1/2。它编译得很好。我的实施中是否有任何隐藏的错误? 我特别关注存储在复制构造函数中移...
作者:joaerl 提问时间:4/9/2022
如果使用 std::unique_ptr 有一个带有 pimpl 的 c++ 类,并通过声明我自己的析构函数来解决 pimpl 类在标头中不完整的事实(我知道我也可以提供一个自定义删除器,但让我们使用...
作者:3DMage 提问时间:12/13/2022
这个问题在这里已经有答案了: 三/五规则是否适用于继承和虚拟析构函数? (3 个答案) 12个月前关闭。 我一直在学习析构函数、复制构造函数、移动构造函数等。我还学习了关于在基类中将析构函数标记为虚...