Перевод этой страницы?:

assign

Синтаксис:

    #include <deque>
    void assign( size_type num, const T& val );
    void assign( input_iterator start, input_iterator end );

Функция assign() дает текущей двусторонней очереди либо значения от start до end, либо num копий переменной val.

Эта функция уничтожит первоначальное содержимое двусторонней очереди.

Например, этот код использует assign(), чтобы положить в двустороннюю очередь 10 копий целого числа 42:

   deque<int> dq;
   dq.assign( 10, 42 );
   for( int i = 0; i < dq.size(); i++ ) {
     cout << dq[i] << " ";
   }
   cout << endl;

На экран будет выведено:

   42 42 42 42 42 42 42 42 42 42

Следующий пример показывает, как assign() может быть использована для копирования одной двусторонней очереди в другую:

   deque<int> dq1;
   for( int i = 0; i < 10; i++ ) {
     dq1.push_back( i );
   }
 
   deque<int> dq2;
   dq2.assign( dq1.begin(), dq1.end() );
 
   for( int i = 0; i < dq2.size(); i++ ) {
     cout << dq2[i] << " ";
   }
   cout << endl;

После запуска код выведет:

   0 1 2 3 4 5 6 7 8 9

Смотри также: insert, push_back, push_front