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


list::assign (STL Samples)

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

void assign(
   const_iterator First,
   const_iterator Last
);
void assign(
   size_type n,
   const T& x = T( )
);
iterator erase(
   iterator It
);
iterator erase(
   iterator First,
   iterator Last
); bool empty( ) const;

Заметки

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

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

Первый функцию-член заменяет управляемую последовательность: *this [с последовательностьюFirst" Last).Второй функцию-член заменяет управляемую последовательность: *this значения элементов с повторением n x.Третий функцию-член удаляет элемент управляемой последовательности, положение которой следуют оно.Четвертый функцию-член удаляет элементы управляемой последовательности в диапазоне [First" Last).Оба получение итератор, задающий первый элемент оставшиеся за всеми удаленными элементами или end если такой элемент не существует.Возвращает последний функция-член true для пустой управляемой последовательности.

Пример

// assign.cpp 
// compile with: /EHsc
//
// Shows various ways to assign and erase elements
//        from a list<T>.
//
// Functions:
//    list::assign
//    list::empty
//    list::erase

#include <list>
#include <iostream>

using namespace std ;

typedef list<int> LISTINT;

int main()
{
    LISTINT listOne;
    LISTINT listAnother;
    LISTINT::iterator i;

    // Add some data
    listOne.push_front (2);
    listOne.push_front (1);
    listOne.push_back (3);

    listAnother.push_front(4);

    listAnother.assign(listOne.begin(), listOne.end());

    // 1 2 3
    for (i = listAnother.begin(); i != listAnother.end(); ++i)
        cout << *i << " ";
    cout << endl;

    listAnother.assign(4, 1);

    // 1 1 1 1
    for (i = listAnother.begin(); i != listAnother.end(); ++i)
        cout << *i << " ";
    cout << endl;

    listAnother.erase(listAnother.begin());

    // 1 1 1
    for (i = listAnother.begin(); i != listAnother.end(); ++i)
        cout << *i << " ";
    cout << endl;

    listAnother.erase(listAnother.begin(), listAnother.end());
    if (listAnother.empty())
        cout << "All gone\n";
}

Output

1 2 3 
1 1 1 1 
1 1 1 
All gone

Требования

заголовок:<список>

См. также

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

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