我正在尝试通过 std::map 反向迭代,遵循以下代码:http ://www.cplusplus.com/reference/stl/map/rend/ 它说:
rend() 返回一个反向迭代器,它引用映射容器中第一个元素之前的元素,这被认为是它的反向端。
请注意,rend 不是指与 begin 相同的元素,而是指它之前的元素。
map<float,int> m;
m.insert(pair<float,int>(.1,0));
m.insert(pair<float,int>(.4,5));
map<float,int>::reverse_iterator rend=m.rend();
map<float,int>::iterator begin=m.begin();
当我运行它时,rend 和 begin 都指向 m 的第一个元素 (.1,0),但显然它不应该指向上面的通知。我觉得我犯了一些非常明显的错误,但我不知道它可能是什么。
(C++,MSVC2010)