map<key,T>成员函数 begin()的用法 ?
为什么使用的时候用begin()取出元素是第二个元素,第一个找不到了?
[解决办法]
这么取元素有什么意义吗?
通过索引取元素
或者通过值来查找
[解决办法]
map 是自动排序的, 里面的顺序已经不是放入的顺序
[解决办法]
typedef map<char, int> CMap;
typedef CMap::iterator CMapIter;
typedef CMap::value_type CMapValueType;
CMap loMap;
for(char lszBegin = 'a'; lszBegin <= 'z'; lszBegin ++)
loMap.insert(CMapValueType(lszBegin, (int)lszBegin));
CMapIter lIter = loMap.begin();
for(; lIter != loMap.end(); lIter ++)
cout<<lIter->first<<" "<<lIter->second<<endl;
map 是非线性的,如果想线性访问使用vector
[解决办法]
那么怎样才能使他按放入的顺序读取呢?
------
用 vector 或 list