一个关于c++ list迭代器的问题

 解答:

list迭代器和vector、deque不同,它不支持 < ,它只支持递增,递减,== 和 !=运算。

   原因在于这几种数据结构实现上的不同。vector和deque将元素在内存中连续保存,而list是在内存中以链表的方式存储,因此前者可以方便地实现迭代器的大小比较(类似指针的大小比较)来体现元素的前后关系。而在list中,两个指针的大小关系与他们指向的元素的前后并不一定是吻合的,实现 < 运算将会非常困难和低效。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部