我是否违反了三法则?
作者:Vinayak Garg 提问时间:2/4/2012
我最近读了《三法则》,想知道我是否违反了它? 在我的 GUI 应用程序中,像 、 、 等类(类名是指示性的)每个类都有一个实例。在他们的构造函数中,我分配了一些资源(内存),我在他们的析构函数中安全...
法则 问答列表
作者:Vinayak Garg 提问时间:2/4/2012
我最近读了《三法则》,想知道我是否违反了它? 在我的 GUI 应用程序中,像 、 、 等类(类名是指示性的)每个类都有一个实例。在他们的构造函数中,我分配了一些资源(内存),我在他们的析构函数中安全...
作者:Brogrammer 提问时间:7/6/2015
我的代码无法正常运行,我不知道如何修复它。对于问什么是三法则的人来说,这不是一个重复的问题,因为该帖子并不能帮助我解决我的问题,因为在这篇文章中,我使用指针指针数组。我不知道我在三大职能中做错了什么,...
作者: 提问时间:11/1/2014
第 12.8/7 节中的标准说: 如果类定义未显式声明副本 构造函数,一个是隐式声明的。如果类定义 声明 Move 构造函数或 Move 赋值运算符, 隐式声明的复制构造函数定义为已删除;否则 它被...
作者:squashed.bugaboo 提问时间:6/14/2012
我读过《三法则,什么是三法则?》总结如下: 如果需要显式声明析构函数、复制构造函数或复制赋值 运算符,您可能需要显式声明所有三个。 我的问题是:在 C++ 应用程序中,我有一个管理资源的类(有一个...
作者:Built on Sin 提问时间:2/12/2016
关于这个话题:什么是复制和交换成语? 它指出一个类最多只能处理一个资源。资源是什么意思? 编辑:例如,我有一个类来处理每个显示器的信息,并包含桌面像素数组。数组和只有数组是否被视为资源?保存监视器...
作者: 提问时间:4/23/2013
内存管理:字符数组和 = 运算符 Q.在内存管理方面,以下代码会有什么错误? class String { public: String(const char right[]); String...
作者:J. Doe 提问时间:4/8/2018
我目前在为我的班级编写/使用析构函数时遇到问题。对于 OpenGL 赋值,我必须编写一个数据结构来保存有关模型的所有信息,请参阅下面的实现。这个类包含指向各种结构的指针,我已经学会了在堆上分配内存后正...
作者:Maestro 提问时间:12/11/2018
这是我找到的一个实现“三法则”的示例: class Array { public: int size; int* vals; Array() : size(0), vals(NULL)...
作者:user7119460 提问时间:4/22/2018
定义接口类时声明实例化方法的正确方法是什么? 出于显而易见的原因,抽象基类需要具有虚拟析构函数。但是,随后会给出以下编译警告:“'InterfaceClass' 定义了一个非默认的析构函数,但不定义...
作者:Xeo 提问时间:1/24/2011
已关闭。这个问题是基于意见的。它目前不接受答案。 想改进这个问题吗?更新问题,以便可以通过编辑这篇文章来用事实和引文来回答。 去年关闭。 社区去年审查了是否重新讨论这个问题,并关闭了它: 原始...