c++ - 删除其中包含对象的结构
问题描述
我有一个这样的结构:
struct CalendarEntry
{
Date DueDate;
std::string Subject;
CalendarEntry* pLeft = nullptr;
CalendarEntry* pRight = nullptr;
};
Date 是一个没有动态数据的类,使用默认构造函数。如果我有一个结构对象,我必须先删除 Date-Object 还是自动调用 Date 的析构函数?
CalendarEntry* mRoot = new CalendarEntry;
//delete &mRoot->DueDate;
delete mRoot;
mRoot = nullptr;
另一个小问题,我有一个结构,它只在一个类中使用。目前我在类上方的标题中定义了它。但是当它只在类内部使用时,将它在类内部定义为私有会更好吗?
感谢您的输入。
解决方案
如果我有一个结构对象,我必须先删除 Date-Object
不。
还是自动调用 Date 的析构函数?
是的。成员和基础子对象等子对象总是被超级对象的析构函数销毁。
推荐阅读
- javascript - 加载页面时,我可以在 HTML、javascript 或 CSS 中初始化缩放以设置为 100%
- database - 使用VB.Net将数据从datagridview发送到水晶报表
- javascript - 如何获得对象数组中多个数组的总和?
- c# - 在 Unity 中更改按钮的文本
- ios - 动态调整单元格大小时如何在 UITableView 中仅显示一个单元格
- typescript - 如何在打字稿中检查对象属性空值
- mongodb - MongoDB Compass $match 和 $text 导致“预期的“[”或 AggregationStage 但找到了“{”。
- vagrant - 从另一台 PC SSH 时显示同步文件夹
- javascript - 可以在测试块输出中开玩笑输出控制台日志
- codenameone - 横向模式下的android设备显示双滚动