kenlistian

厚积薄发. 勤为桨,思为帆

   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  73 随笔 :: 4 文章 :: 22 评论 :: 0 Trackbacks

在MFC中,有CMap相关的map类, 在 map中有map。

// Maps (aka Dictionaries)
class CMapWordToOb;         // map from WORD to CObject*
class CMapWordToPtr;        // map from WORD to void*
class CMapPtrToWord;        // map from void* to WORD
class CMapPtrToPtr;         // map from void* to void*

// Special String variants
class CMapStringToPtr;      // map from CString to void*
class CMapStringToOb;       // map from CString to CObject*
class CMapStringToString;   // map from CString to CString

 

对于以上可以直接用stl中的一个map类型全部概况。

map<Word, CObject*>

map<Word, void*>

map<void*, Word>

map<void*, void*>

map<CString,void*>

map<CString, CObject*>

map<CString, CString>

由此,还是map简练。

再看遍历时,各个处理如下:

CMap<DWORD, DWORD&, ThreadInfo, ThreadInfo&> m_threadMap;   //定义一组线程map

则在

ThreadInfo info;

DWORD Key ;
POSITION pos = threadMap.GetStartPosition();
while (pos != NULL)
{

    threadMap.GetNextAssoc(pos, Key, info);
    {
     。。。
    }
}

如果采用std中的map处理则

map<DWORD ,ThreadInfo>m_threadMap;

map<DWORD ,ThreadInfo>::iteraotr pIt;

for(pIt = m_threadMap.begin(); pIt != m_threadMap.end(); pIt++){

     ......

}

 

简单明了,胜过用mfc中繁芜而又不清晰的过程。所以多用std做程序开发比用一些过时的要好得多。

何须浪费时间去知道几个茴字的写法呢。是不是。

posted on 2008-01-08 12:45 kenlistian 阅读(4090) 评论(1)  编辑 收藏 引用

评论

# re: 对比CMap和Map使用 2008-11-29 09:50 zhanglei
阁下说得很有道理  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理