std::deque::erase

来自cppreference.com
< cpp‎ | container‎ | deque

 
 
 
std :: deque
成员函数
原文:
Member functions
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
元素的访问
原文:
Element access
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
迭代器
原文:
Iterators
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
容量
原文:
Capacity
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
修饰符
原文:
Modifiers
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
deque::erase
 
iterator erase( iterator pos );
iterator erase( const_iterator pos );
(1) (C++11 前)
(C++11 起)
iterator erase( iterator first, iterator last );
iterator erase( const_iterator first, const_iterator last );
(2) (C++11 前)
(C++11 起)

从容器中移除指定的元素:

1) 移除pos处的元素。

2) 移除范围[first; last)内的元素。

注意:

  • 被删除元素以及之后的元素的迭代器都会失效,包括end()迭代器。
  • 迭代器必须是有效的并且能够被解引用。因此,end()迭代器(迭代器的值有效,但是不能够被解引用)不能够被用作为一个元素的迭代器。
  • 容器的第一个迭代器不一定需要能够被解引用;比如当first==last时,表示删除一个空范围内的元素,这将不会执行任何操作。

目录

[编辑] 参数

pos -
要移除的元素的迭代器
原文:
iterator to the element to remove
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
first, last -
要移除的元素范围
原文:
range of elements to remove
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

返回最后一个删除元素的下一个元素的迭代器,如果最后一个删除元素就是容器的最后一个元素,则返回end()迭代器.
原文:
iterator following the last removed element.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

#include <deque>
#include <iostream>
 
 
int main( )
{
    std::deque<int> c{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    for (auto &i : c) {
        std::cout << i << " ";
    }
    std::cout << '\n';
 
    c.erase(c.begin());
 
    for (auto &i : c) {
        std::cout << i << " ";
    }
    std::cout << '\n';
 
    c.erase(c.begin()+2, c.begin()+5);
 
    for (auto &i : c) {
        std::cout << i << " ";
    }
    std::cout << '\n';
}

输出:

0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 6 7 8 9

[编辑] 复杂性

1) linear in the distance between position and last.

2) linear in distance between position and the end of the container.

[编辑] 另请参阅

删除全部内容
(公开成员函数) [编辑]