stl 中,cbegin,cend,crbegin,crend 区别以及用途
cbegin 和 cend 是用于容器的,它们返回指向容器中第一个元素和最后一个元素的 const 迭代器,因此不能修改其指向的值。
例如:
复制代码
这个例子中,cbegin 返回 v 的第一个元素的 const 迭代器,cend 返回 v 末尾元素之后的位置的 const 迭代器(类似于 end),在循环中遍历了整个容器,输出了元素 1、2、3。
crbegin 和 crend 同样是用于容器的,但它们返回指向容器中倒数第一个元素和第一个元素之前位置的 const 反向迭代器,因此可以从尾部向头部遍历容器元素。同样,这些迭代器也不能修改其指向的值。
例如:
复制代码
这个例子中,crbegin 返回 v 的最后一个元素的 const 反向迭代器,crend 返回 v 第一个元素之前位置的 const 反向迭代器(类似于 rbegin),在循环中逆序遍历了整个容器,输出了元素 3、2、1。
使用 const 迭代器和 const 反向迭代器可以保证遍历容器时不会修改其中的元素值,从而提高代码的安全性。
相关技术视频教程:https://ke.qq.com/course/417774?flowToken=1013300
c/c++后端技术交流群:812855908
评论