deque::erase 和 deque::clear
說明如何使用 deque::erase 和 deque::clear Visual C++ 標準樣板程式庫 (STL) 函式。
iterator erase(
iterator Iter
);
iterator erase(
iterator First,
iterator Last
); void clear( ) const;
備註
注意事項 |
---|
在原型中的類別/參數名稱不相符的標頭檔中的版本。某些已修改以提高可讀性。 |
第一個清除成員函式中移除項目容器所指的Iter。 第二個清除成員函式範圍中移除的項目容器的 [First, Last)。 兩者都傳回 iterator,指派第一個以外的任何項目移除,剩餘的項目或結束如果沒有這類項目。 移除 n 項目的原因 n 解構函式呼叫,而且每個元件,將插入點到最接近序列的作業。 只有 iterator 和參考,以指定刪除的項目,移除任意一端上的項目會使失效。 否則,清除 [項目失效所有 iterator 和參考。 清除成員的函式呼叫清除(開始, 結束)。
範例
// 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>