# std::deque<T,Allocator>::begin, std::deque<T,Allocator>::cbegin

< cpp‎ | container‎ | deque

iterator begin(); |  | (C++11 前)
iterator begin() noexcept; |  | (C++11 起)
const_iterator begin() const; |  | (C++11 前)
const_iterator begin() const noexcept; |  | (C++11 起)
const_iterator cbegin() const noexcept; |  | (C++11 起)

返回指向 `deque` 首元素的迭代器。

若 `deque` 为空，则返回的迭代器将等于 end() 。

### 参数

（无）

### 返回值

指向首元素的迭代器。

### 复杂度

常数。

### 示例

    #include <iostream>
    #include <numeric>
    #include <deque>
    #include <string>

    int main()
    {
            std::deque<int> nums {1, 2, 4, 8, 16};
            std::deque<std::string> fruits {"orange", "apple", "raspberry"};
            std::deque<char> empty;

            // 求和 deque nums 中的所有整数（若存在），仅打印结果。
            std::cout << "Sum of nums: " <<
                    std::accumulate(nums.begin(), nums.end(), 0) << "\n";

            // 打印 deque fruits 中的首个 fruis ，不检查是否有一个。
            std::cout << "First fruit: " << *fruits.begin() << "\n";

            if (empty.begin() == empty.end())
                    std::cout << "deque 'empty' is indeed empty.\n";
    }

输出：

    Sum of nums: 31
    First fruit: orange
    deque 'empty' is indeed empty.

### 参阅

end cend (C++11) | 返回指向末尾的迭代器 (公开成员函数)