c++ - 适用于 begin() 但不适用于 rbegin() 的映射迭代器

标签 c++ list pointers map iterator

我有一些名为 Order 的类。由于某些原因,以下代码在使用 rbegin() 时无法编译,但它适用于 begin()。我声明迭代器的方式有问题还是我的指针引用有问题?

map<double, list<Order*>> m
typedef map<double, list<Order*>>::iterator iter;
iter iterator;

iterator = m.rbegin(); // this only works for m.begin()

谢谢!

最佳答案

rbegin() 返回一个 reverse_iterator,而不是一个 iterator

关于c++ - 适用于 begin() 但不适用于 rbegin() 的映射迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738100/

相关文章:

c++ - 如何在Matlab中保存多维矩阵的二进制并将其加载为C++结构?

c++ - 动态构造函数

python - 对于这个特定的任务来说,字典或元组列表会更有效吗?

c - scanf 字符串困惑

c - 如何在C程序中多次从stdin读取数据

c - C 中的二维初始化语法

c++ - 在 DirectX 9 中使用可扩展数组绘制三角形

c++ - 约瑟夫算法

string - Haskell 模式不匹配 [_]

Python-从文本文件或列表中获取特定字符