📜  C++ STL中的deque :: begin()和deque :: end(1)

📅  最后修改于: 2023-12-03 15:13:56.241000             🧑  作者: Mango

C++ STL中的deque::begin()和deque::end()

deque是C++ STL中的一个非常常用的容器,它是一个双端队列,允许从两端插入和删除元素。deque内部采用了多个定长数组来存储元素,因此能够快速地在队列头部和尾部进行插入和删除操作。

在deque中,begin()函数和end()函数是非常重要的两个成员函数,它们用于返回一个指向deque起始位置的迭代器和一个指向deque末尾位置的迭代器。

函数原型

deque::begin()和deque::end()函数的原型如下:

iterator begin() noexcept;
const_iterator begin() const noexcept;
iterator end() noexcept;
const_iterator end() const noexcept;

函数返回值类型是一个迭代器,iterator是一个指针类型的迭代器,const_iterator是一个指向常量的指针类型的迭代器。

函数功能

begin()函数返回一个指向deque起始位置的迭代器,可以用于对deque中的元素进行顺序访问,例如:

std::deque<int> dq = {1, 2, 3, 4, 5};
for(auto it = dq.begin(); it != dq.end(); ++it) {
    std::cout << *it << " ";
}
// output: 1 2 3 4 5

end()函数返回的迭代器指向deque末尾位置的下一个位置,可以用来判断迭代器是否已经遍历到deque末尾,例如:

std::deque<int> dq = {1, 2, 3, 4, 5};
auto it = dq.begin();
while(it != dq.end()) {
    std::cout << *it << " ";
    ++it;
}
// output: 1 2 3 4 5
总结

deque::begin()和deque::end()是C++ STL中deque容器内部用于查找deque起始位置和末尾位置的成员函数,返回一个指向deque起始位置的迭代器和一个指向deque末尾位置的迭代器,可以用于对deque中的元素进行顺序访问和判断是否已经遍历到deque末尾。