关于map和CStringList的有关问题
【求助】关于map和CStringList的问题
定义了一个map容器:
map<CString,CStringList*> m_JobHashList;这是类中一个static成员
key是JobID,value作Hash列表,下面这段代码是一个函数,目的是将strHash插入JobID对应的Hash列表中
请问,m_JobHashList中会保存正确的内容吗?我的意思是strHash,hashlist只是局部变量,将其内容插入这个map容器,能在其他地方正确使用吗?如果将map的value类型改为CStringList类型,而不是指针,则在执行AddTail的时候出错,就是error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
求高手指点一下,先谢谢了
------解决方案--------------------
hashlist需要new出来,上面的代码就没有问题了。
------解决方案--------------------
定义了一个map容器:
map<CString,CStringList*> m_JobHashList;这是类中一个static成员
key是JobID,value作Hash列表,下面这段代码是一个函数,目的是将strHash插入JobID对应的Hash列表中
- C/C++ code
void AddJobHash(CString strJobID,CString strHash) { map<CString,CStringList*>::iterator iter; iter=m_JobHashList.find(strJobID); if(iter!=m_JobHashList.end()){ iter->second->AddTail(strHash); return; } CStringList hashlist; hashlist.AddTail(strHash); m_JobHashList.insert(make_pair(strJobID,&hashlist)); }
请问,m_JobHashList中会保存正确的内容吗?我的意思是strHash,hashlist只是局部变量,将其内容插入这个map容器,能在其他地方正确使用吗?如果将map的value类型改为CStringList类型,而不是指针,则在执行AddTail的时候出错,就是error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
求高手指点一下,先谢谢了
------解决方案--------------------
hashlist需要new出来,上面的代码就没有问题了。
------解决方案--------------------