C++ std::map 存储动态指针时正确释放内存
如何在std::map存储的指针时正确的释放指针,防止内存泄漏,示例代码如下
#ifdef _DEBUG
#define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)
#else
#define DEBUG_CLIENTBLOCK
#endif
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>
#ifdef _DEBUG
#define new DEBUG_CLIENTBLOCK
#endif
#include <iostream>
#include <map>
#include <string>
using namespace std;
class Example
{
public:
Example();
Example(int newIndex);
virtual ~Example();
int m_Index;
};
Example::Example()
{
}
Example::Example(int newIndex)
{
m_Index = newIndex;
}
Example::~Example()
{
}
int main()
{
std::map<std::string, Example*> MyTestMap;
for (unsigned int i = 0; i < 10; ++i)
{
std::string tempStr = std::to_string(i);
Example* pExample = new Example(i);
MyTestMap[tempStr] = pExample;
}
std::map<std::string, Example*>::iterator iter = MyTestMap.begin();
while (iter != MyTestMap.end())
{
delete iter->second;
iter->second = NULL;
iter = MyTestMap.erase(iter);
}
MyTestMap.clear();
getchar();
_CrtDumpMemoryLeaks();
return 0;
}
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – std::map – 存储动态指针时正确释放内存
原文链接:https://www.stubbornhuang.com/738/
发布于:2020年03月03日 14:21:21
修改于:2023年06月26日 22:34:29
当前分类随机文章推荐
- C++ - 智能指针的正确使用方式 阅读820次,点赞0次
- C++ - 将一维数组/二维数组/三维数组作为函数参数传递给函数 阅读2246次,点赞0次
- CMake - 设置Debug或者Release编译模式 阅读3979次,点赞0次
- C++ - 我的代码风格/代码规范备忘 阅读1090次,点赞0次
- C++ - C++实现Python numpy的矩阵维度转置算法,例如(N,H,W,C)转换为(N,C,H,W) 阅读5056次,点赞4次
- C++ - GCC版本与C++标准之间的对应关系 阅读69次,点赞0次
- C++ - 使用C++标准库过滤Windows文件名中的非法字符 阅读4989次,点赞1次
- C++ - 线程安全的std::cout 阅读2285次,点赞0次
- C++ - Map中存储动态指针时正确释放内存 阅读4131次,点赞0次
- C++11/std::thread - 线程管理join/detach 阅读2641次,点赞0次
全站随机文章推荐
- 深度学习 - 在大数据集下,内存容量与磁盘IO速度影响模型训练速度的问题 阅读347次,点赞0次
- C++STL容器 - std::vector构造方式与分配值方式总结 阅读1038次,点赞0次
- Javascript - 接收websocket服务器发送base64编码的音频数据并进行播放 阅读56次,点赞0次
- C++ - 最简单的将文本文件的内容一次性读取到std::string的方法 阅读5643次,点赞4次
- 资源分享 - Handbook of Discrete and Computational Geometry, Third Edition英文高清PDF下载 阅读3561次,点赞0次
- 资源分享 - Game Programming Gems 6 英文高清PDF下载 阅读2467次,点赞0次
- 简单粗暴:使用pycharm安装对应的Python版本第三方包 阅读3939次,点赞0次
- Duilib - 程序开机自启动 阅读2151次,点赞0次
- C++ - Yolo的letterbox图片预处理方法,缩放图片不失真 阅读298次,点赞0次
- 资源分享 - Div, Grad, Curl, and All That - An Informal Text on Vector Calculus , Forth Edition 英文高清PDF下载 阅读1845次,点赞0次
评论
169