STL中end()和rbegin()的区别

反向迭代器是一种反向遍历容器的迭代器。也就是从最后一个元素到第一个元素的遍历容器,所以自然地反向迭代器将自增(自减)的含义反过来了,++运算将访问前一个元素,–运算则访问下一个元素。
在使用STL时,经常需要用到迭代器,多以一定要搞清楚一些指针的区别。其中begin()指向第一个元素,但是end()不是指向最后一个元素,而是最后一个元素的后一个元素。所以在使用unordered_map、map查找某个值时都要和end()相比较,因为跟end()比较后就说明所有的元素都遍历过一遍了,也包括最后一个元素。而rbegin()指向的是最后一个元素。rend()指向第一个元素前面的位置。

你可能感兴趣的:(STL中end()和rbegin()的区别)