C++STL的容器中,那些没有迭代器
时间: 2023-11-14 16:57:17 浏览: 343
在C++ STL(标准模板库)的容器中,以下几种容器是没有迭代器的:
1. std::array:std::array 是一个固定大小的数组容器,它的元素类型和大小在编译时就确定了。由于它是连续存储的,可以通过下标直接访问元素,但没有提供迭代器。
2. std::forward_list:std::forward_list 是单向链表容器,只能单向遍历,每个节点只指向下一个节点,不提供反向遍历能力,因此没有提供迭代器。
3. std::stack:std::stack 是一个适配器容器,基于其他底层容器(如 std::deque 或 std::list)实现。它是一种后进先出(LIFO)结构,只能在栈顶进行插入和删除操作,因此不需要提供迭代器。
4. std::queue:std::queue 也是一个适配器容器,基于其他底层容器(如 std::deque 或 std::list)实现。它是一种先进先出(FIFO)结构,只能在队列的前端进行插入操作,在队列的后端进行删除操作,不需要提供迭代器。
5. std::priority_queue:std::priority_queue 是一个适配器容器,基于其他底层容器(如 std::vector 或 std::deque)实现。它是一个优先级队列,按照一定的排序规则自动调整元素的顺序,不需要提供迭代器。
以上这些容器没有提供迭代器是因为它们的特性或设计目标不需要支持迭代操作。
阅读全文