我需要在新类中声明构造函数和析构函数吗?
Posted
技术标签:
【中文标题】我需要在新类中声明构造函数和析构函数吗?【英文标题】:Do I need to declare a constructor and destructor in a new class? 【发布时间】:2021-02-15 22:07:46 【问题描述】:我在我的数据结构类中注意到很多,它们声明了构造函数和析构函数。顺便说一下,这是针对 C++ 的。
【问题讨论】:
这能回答你的问题吗? What is The Rule of Three? 这是重复的:Should i define the default constructor? [closed] 答案将取决于您希望类对象在构造后处于什么状态。如果您对没有构造函数的默认行为感到满意,那么就没有必要编写构造函数; OTOH,如果您需要明确指定构造行为,那么编写构造函数就是这样做的方法。 这能回答你的问题吗? Should i define the default constructor? 【参考方案1】:这些对象是否分配和保留内存?他们是否分配了必须释放的资源?
如果是这样,是的,需要一个析构函数。如果没有,没有。
这是理解C++ RIAA 的一部分,这是这里定义的方法。
struct
不需要构造函数,它们通常被视为没有内置智能的“哑数据”,但它们通常对于 class
是必需的对那些期望数据被正确初始化而不是归零的人调用new
。
【讨论】:
以上是关于我需要在新类中声明构造函数和析构函数吗?的主要内容,如果未能解决你的问题,请参考以下文章