c++ - 我应该在 C++ 中显式删除结构吗?
问题描述
假设我有一个这样定义的结构:
struct Barre {
int startString;
int endString;
Barre() { startString = endString = -1; }
Barre(int s, int e) : startString(s), endString(e) {}
bool exists() { return startString > -1; }
};
我将像这样创建这个结构的一个实例,例如:
Barre b = Barre(2, 4);
假设我将它插入到std::map<int, Barre>
作为类成员的 a 中,键为例如 3。
如果我然后像上面那样创建另一个 Barre 并用 Barre 结构的这个新实例覆盖键 3 处的映射值,我是否需要显式地delete
覆盖我正在覆盖的旧 Barre 对象以防止内存泄漏?或者一旦它不再以这种方式存储在地图中,它就不会持续存在吗?
谢谢你的帮助。
解决方案
推荐阅读
- python - 以相同的顺序随机化 3 个单独的向量
- java - Spring Data JPA 创建 DATETIME 列,但插入 TIMESTAMP
- javascript - React Native Web 视图未显示
- mongodb - 无法通过 Mongo Shell 连接 mongoDB 服务器
- javascript - 如何禁止 javascript 脚本?
- sqlite - 如何通过 sql Lite 加载数据
- kotlin - 如何在不使用异常的情况下为 Flow 提供“关闭原因”?
- node.js - 如何使用 axios 在 Nuxtjs 项目的“静态”目录中上传文件?
- vbscript - 如何检查 URL 健康同步而没有超时错误?
- razor - 如果路由匹配但参数错误,如何手动显示 Blazor-Webassembly-404-Not-Found 页面?