# std::set<Key,Compare,Allocator>::end, std::set<Key,Compare,Allocator>::cend

< cpp‎ | container‎ | set

iterator end(); |  | (C++11 前)
iterator end() noexcept; |  | (C++11 起)
const_iterator end() const; |  | (C++11 前)
const_iterator end() const noexcept; |  | (C++11 起)
const_iterator cend() const noexcept; |  | (C++11 起)

返回指向 `set` 末元素后一元素的迭代器。

此元素表现为占位符；试图访问它导致未定义行为。

### 参数

（无）

### 返回值

指向后随最后元素的迭代器。

### 复杂度

常数。

### 注意

因为 `iterator` 和 `const_iterator` 都是常迭代器（而且实际上可以是同一类型），故不可能通过任何这些成员函数返回的迭代器修改容器元素。

### 示例

    #include <algorithm>
    #include <iostream>
    #include <set>

    int main() {
      std::set<int> set = { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
      std::for_each(set.cbegin(), set.cend(), [](int x) {
        std::cout << x << ' ';
      });
      std::cout << '\n';
    }

输出：

    1 2 3 4 5 6 9

### 参阅

begin cbegin (C++11) | 返回指向起始的迭代器 (公开成员函数)