问题描述
- c++里的map问题搞不懂
-
typedef std::mapstd::string,std::string MapNameToValue;
MapNameToValue m_MapNameToValue;
MapNameToValue::iterator it=m_MapNameToValue.find(strName);
std::string strValue = "";
if (it!=m_MapNameToValue.end())
{
strValue=(*it).second;
Replace(strValue,"/:}",">");
}
我想问一下这里strValue的值是什么,或者这几句话的作用
解决方案
m_MapNameToValue是一个map,map中存放的是一个个pair,而pair的类型是你自己定义的std::string,std::string,尖括号中前面对应的是key值,std::string类型,而后边是你的value值,也是std::string类型,你这里说的具体的strValue是指的尖括号后边的那个string 值,用迭代器(你这里的it)访问map中元素,it.first=key值,it.second=value,建议看下c++primer讲的map,讲的非常清楚
解决方案二:
strValue是一个字符串变量,在迭代器遍历过程中,它获取map中key对应的value值,你再调试一下,不懂联系我
解决方案三:
strValue是一个字符串变量,在迭代器遍历过程中,它获取map中key对应的value值
解决方案四:
map就是像是一个二维表,比如下面的
zhangsan--->10086
lisi------->10087
wangw------->10089
如果你的map里面存取的是上面的内容的话,而且你设定的strName=“lisi”的话,strValue="10087"
明白了么?
解决方案五:
strValue就是你的map中搞的key对应的value,它是string类型,你根据key找到对应的value的字符串,然后把字符串做一些替换处理
时间: 2024-10-30 13:57:03