库里的反向迭代器其实就是对正向迭代器的一种封装—— 适配器模式(配接器模式) 用传过来的正向迭代器实现反向迭代器,直接建一个reverse_iterator.h。 2.1 反向迭代器的普通实现 如果知道反向迭代器其实就是对正向迭代器的一种封装,因为以前认为rbegin()指向的是最后一个数据,rend()指向的是第一个数据的前一个(...
int main(){priority_queue<int> a;priority_queue<int, vector<int>, greater<int> > c;priority_queue<string> b;for (int i = 0; i < 5; i++){a.push(i);c.push(i);}while (!a.empty()){cout << a.top() << ' ';a.pop();}cout << endl;while (!c.empty()){cout <<...
解析 1.rend()大于rbegin().注意end()同样大于begin().2.rbegin()+3,表示从vector的末元素向前数三个元素.3.一般是必须的,因为通常函数在处理的时候,是对指向前面的迭代器进行自增操作,直至该迭代器指向后面时终止.如果大的放在前面时,自增操作后就会找不到小的那个迭代器,导致无法终止....