TA的每日心情![](source/plugin/dsu_paulsign/img/emot/kx.gif) | 开心 昨天 15:23 |
---|
签到天数: 69 天 [LV.6]常住居民II
管理员
- 积分
- 2704
|
#include "stdafx.h"
#include <iostream>
#include <map>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
map<char,int> mymap;
mymap['b'] = 100;
mymap['a'] = 200;
mymap['c'] = 300;
map<char,int>::iterator it=mymap.begin();
// show content:
for (it; it!=mymap.end(); ++it)
std::cout << it->first << " => " << it->second << '\n';
//正确做法
//输出map中的最后一个元素
map<char,int>::reverse_iterator iter = mymap.rbegin(); //返回最后一个元素
/*mymap.end();
mymap.rend();
*/
if (iter != mymap.rend())
{
std::cout << iter->first << " => " << iter->second << '\n';
}
//错误做法
map<char,int>::iterator iter2 = mymap.end(); //
//如果这样直接用会导致崩溃
std::cout << iter2->first << " => " << iter2->second << '\n';
if (iter2 != mymap.end())
{
std::cout << iter2->first << " => " << iter2->second << '\n';
}
/*mymap.end();
mymap.rend();
这两个函数只是标记找没找到 不是返回最后一个元素
输出最后一个元素一定要切记
Return iterator to end
Returns an iterator referring to the past-the-end element in the map container.
The past-the-end element is the theoretical element that would follow the last element in the map container.
|
|