Поделиться через


deque::erase и deque::clear

Демонстрируется использование deque:: Стереть и deque:: clear Стандартные функции библиотеки стандартных шаблонов (STL) в Visual C++.

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

Заметки

ПримечаниеПримечание

Имена класса и параметра в прототипе не соответствует версии в файле заголовка.Некоторые были изменены для улучшения удобочитаемости.

Первый Стереть функция-член удаляет элемент контейнера указанного к которым следуют Iter.Секунда Стереть функция-член удаляет элементы контейнера в диапазоне [First" Last).Оба получение итератор, задающий первый элемент оставшиеся за всеми удаленными элементами или end если такой элемент не существует.удалить N причины элементов N вызов деструктора и назначение для каждого из элементов между точкой вставки и более точного концом последовательности.Удаление элемент в любом элементе делает недействительным только итераторы и ссылки с метками стертые элементы.В противном случае элемент стирающ делает все итераторы и ссылки.Очистить вызов функции-члена Стереть(begin" end).

Пример

// 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>

См. также

Основные понятия

Образец библиотеки стандартных шаблонов