deque::erase 和 deque::clear

在 Visual C++ 演示如何使用 、向量、双端队列:: 清除、向量、双端队列:: 清除 标准 (STL)模板库函数。

iterator erase(
   iterator Iter
);
iterator erase(
   iterator First,
   iterator Last
); void clear( ) const;

备注

备注

类/参数名在原型不匹配版本在头文件。修改某些提高可读性。

第一个 清除 成员函数移除容器的元素指向由 Iter。 第二个 清除 成员函数移除容器的元素在范围 [First, Last)。 两个返回指定保持在所有元素外的第一个元素中移除的迭代器,或者 结束 ,如果不存在这样的元素。 移除 N 元素原因 N 调用析构函数,其中每个的赋值之间的元素插入点和序列关闭末尾。 移除元素在任一端无效指定清除的元素仅的迭代器和引用。 否则,清除元素无效所有迭代器和引用。 清除的成员函数调用 清除(启动结束)。

示例

// deque_erase_clear.cpp 
// compile with: /EHsc
// 
// Functions:
//
//    erase
//    clear
//    begin
//    end
//////////////////////////////////////////////////////////////////////

#include <iostream>
#include <deque>

using namespace std;


typedef deque<int >  INTDEQUE;
void print_contents (INTDEQUE  deque);

int main()
{
    // create a and with elements 1,2,3,4 and 5
    INTDEQUE  a;
    a.push_back(1);
    a.push_back(2);
    a.push_back(3);
    a.push_back(4);
    a.push_back(5);

    //print the contents
    print_contents (a);

    //  erase the second element
    a.erase(a.begin()+1);
    print_contents (a);

    //erase the last two elements
    a.erase(a.end()-2,a.end());
    print_contents (a);

    //clear a
    a.clear();
    print_contents (a);
}

void print_contents (INTDEQUE  deque) {
    INTDEQUE::iterator pdeque;

    cout <<"The output is: ";

        for(pdeque = deque.begin();
        pdeque != deque.end();
        pdeque++)
    {
        cout << *pdeque <<" " ;
    }
        cout<<endl;
}
  

要求

标题: deque

请参见

概念

标准模板库示例