• CMapStringToPtr添加与释放


    1. // 创建MapStringToPtr  
    2. CMapStringToPtr m_prjFiles;  
    3. CStringList m_fileList;  
    4. m_fileList.AddTail(_T("C:\a"));  
    5. m_fileList.AddTail(_T("C:\b"));  
    6. m_fileList.AddTail(_T("C:\c"));  
    7. // 遍历CStringList变量,添加到CMapStringToPtr  
    8. for(POSITION pos=m_fileList.GetHeadPosition();pos;m_fileList.GetNext(pos)){  
    9.     ST_LINE_INFO* fi=new ST_LINE_INFO;  // 一个自定义的结构,定义了strPath变量  
    10.     fi->strPath=m_fileList.GetAt(pos);  
    11.   
    12.     void* rVal=NULL;  
    13.     if(m_prjFiles.Lookup(fi->strName,rVal)){  
    14.         delete fi;  
    15.         fi = NULL;  
    16.     }else{  
    17.         m_prjFiles.SetAt(fi->strName,fi);  
    18.     }             
    19. }  
    20. // 释放MapStringToPtr  
    21. for(POSITION pos=m_prjFiles.GetStartPosition();pos;){  
    22.     CString strKey;  
    23.     ST_LINE_INFO* val = NULL;  // 注意这里必须是添加时的变量类型,如果用void*,则会有内存泄露。  
    24.     m_prjFiles.GetNextAssoc(pos,strKey,(void*&)val);    // 这里把定义的变量类型转换为void*&。  
    25.     if (val)  
    26.     {  
    27.         delete val;  
    28.         val = NULL;  
    29.     }  
    30. }  
    31. m_prjFiles.RemoveAll();  
  • 相关阅读:
    CSS3——过渡
    CSS——优雅降级和渐进增强
    jq1 颜色填充器 和清空指定颜色
    1. 初识node
    javaSE- 01
    鼠标悬浮图片时弹出透明提示图层的jQuery特效
    通过jQuery制作电子时钟表的代码
    9种网页Flash焦点图和jQuery焦点图幻灯片
    7种网页图片切换方式代码
    21种网页在线客服代码实例演示
  • 原文地址:https://www.cnblogs.com/jiangzhaowei/p/4972239.html
Copyright © 2020-2023  润新知