Udostępnij za pośrednictwem


deque::assign

Usuwa elementy z listy dwukierunkowej i kopiuje nowy zestaw elementów, do docelowego obiektu kolejki dwukierunkowej.

template<class InputIterator>
    void assign(
    InputIterator First,
    InputIterator Last);
void assign(
    size_type Count,
    const Type& Val
);
void assign(
    initializer_list<Type> IList
);

Parametry

  • First
    Pozycja pierwszego elementu w zakresie elementów, które mają być skopiowane z argumentów kolejki dwukierunkowej.

  • Last
    Pozycja pierwszego elementu poza zakresem elementów, które mają być skopiowane z argumentów kolejki dwukierunkowej.

  • Count
    Liczba kopii elementu, która jest wstawiana do kolejki dwukierunkowej.

  • Val
    Wartość elementu, który jest wstawiany na kolejkę dwukierunkową.

  • IList
    Lista initializer_list, która jest wstawiana do kolejki dwukierunkowej.

Uwagi

Po usunięciu wszystkich istniejących elementów z docelowej kolejki dwukierunkowej assign wstawia określony zakres elementów z oryginalnej kolejki dwukierunkowej, lub z jakiejś innej kolejki dwukierunkowej, do docelowej kolejki dwukierunkowej lub wstawia kopie nowego elementu określonej wartości, do docelowej kolejki dwukierunkowej.

Przykład

// deque_assign.cpp
// compile with: /EHsc
#include <deque>
#include <iostream>
#include <initializer_list>

int main()
{
    using namespace std;
    deque <int> c1, c2;
    deque <int>::const_iterator cIter;

    c1.push_back(10);
    c1.push_back(20);
    c1.push_back(30);
    c2.push_back(40);
    c2.push_back(50);
    c2.push_back(60);

    deque<int> d1{ 1, 2, 3, 4 };
    initializer_list<int> iList{ 5, 6, 7, 8 };
    d1.assign(iList);

    cout << "d1 = ";
    for (int i : d1)
        cout << i;
    cout << endl;

    cout << "c1 =";
    for (int i : c1)
        cout << i;
    cout << endl;

    c1.assign(++c2.begin(), c2.end());
    cout << "c1 =";
    for (int i : c1)
        cout << i;
    cout << endl;

    c1.assign(7, 4);
    cout << "c1 =";
    for (int i : c1)
        cout << i;
    cout << endl;

}
  

Wymagania

Nagłówek: <deque>

Przestrzeń nazw: std

Zobacz też

Informacje

deque — Klasa

deque::assign oraz deque::swap

Standardowa biblioteka szablonów