map::rbegin的一个注意点
在上请教如何取得map的最后一个元素,给出了两个方法:
a.
itor =
m.end();
*( --itor );
b.
*( m.rbegin()
);
(BTW:不知道哪个更好?其实我觉得都不好,不知道有没有更好的办法?)
七猫说使用……时需要确保!m.empty(),这句话提醒了我,于是写个代码测试一下:
map
a;
cout << a.begin()->first <<
endl;
a.rbegin()->first;
发现 a.begin()->first 是一个无效值(很合理),而
a.rbegin()->first 在VC++6.0中导致死循环,在dev-cpp4992中导致访问非法地址异常而退出。