Compartir a través de


deque::deque

Construye un deque de un tamaño concreto o con elementos de un valor concreto o con un asignador concreto o como copia de todo o parte de algún otro deque.

deque( );
explicit deque(
   const Allocator& _Al
);
explicit deque(
   size_type _Count
);
deque(
   size_type _Count,
   const Type& _Val
);
deque(
   size_type _Count,
   const Type& _Val,
   const Allocator& _Al
);
deque(
   const deque& _Right
);
template<class InputIterator>
   deque(
      InputIterator _First,
      InputIterator _Last
   );
template<class InputIterator>
   deque(
      InputIterator _First,
      InputIterator _Last,
      const Allocator& _Al
   );
 deque(
   deque&& _Right
);

Parámetros

Parámetro

Descripción

_Al

La clase de asignador que se usa con este objeto.

_Count

el número de elementos en el deque construido.

_Val

el valor de los elementos en el deque construido.

_Right

el deque cuyo el deque construido es ser una copia.

_First

Posición del primer elemento en el intervalo de elementos que se va a copiar.

_Last

Posición del primer elemento más allá del intervalo de elementos que se va a copiar.

Comentarios

Todos los constructores almacenan un objeto de asignador (_Al) e inicializan el deque.

Los primeros dos constructores especifican un deque inicial vacío, el segundo especificando el tipo del asignador (_Al) que se va a utilizar.

El tercer constructor especifica una repetición de un número especificado (_Count) de elementos de valor predeterminado para la clase tipo.

Los cuartos y quintos constructores especifican una repetición de elementos (de_Count) del valor _Val.

El sexto constructor especifica una copia de deque _Right.

el séptimo y los octavos constructores copian el intervalo [_First, _Last) de un deque.

El constructor último mueve el deque _Right.

Ninguno de los constructores realizan cualquier reasignación provisional.

Ejemplo

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

int main( ) 
{
   using namespace std;
   deque <int>::iterator c1_Iter, c2_Iter, c3_Iter, c4_Iter, c5_Iter, c6_Iter;

   // Create an empty deque c0
   deque <int> c0;

   // Create a deque c1 with 3 elements of default value 0
   deque <int> c1( 3 );

   // Create a deque c2 with 5 elements of value 2
   deque <int> c2( 5, 2 );

   // Create a deque c3 with 3 elements of value 1 and with the 
   // allocator of deque c2
   deque <int> c3( 3, 1, c2.get_allocator( ) );

   // Create a copy, deque c4, of deque c2
   deque <int> c4( c2 );

   // Create a deque c5 by copying the range c4[_First, _Last)
   c4_Iter = c4.begin( );
   c4_Iter++;
   c4_Iter++;
   deque <int> c5( c4.begin( ), c4_Iter );

   // Create a deque c6 by copying the range c4[_First, _Last) and 
   // c2 with the allocator of deque
   c4_Iter = c4.begin( );
   c4_Iter++;
   c4_Iter++;
   c4_Iter++;
   deque <int> c6( c4.begin( ), c4_Iter, c2.get_allocator( ) );

   cout << "c1 = ";
   for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
      cout << *c1_Iter << " ";
   cout << endl;
   
   cout << "c2 = ";
   for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
      cout << *c2_Iter << " ";
   cout << endl;

   cout << "c3 = ";
   for ( c3_Iter = c3.begin( ); c3_Iter != c3.end( ); c3_Iter++ )
      cout << *c3_Iter << " ";
   cout << endl;

   cout << "c4 = ";
   for ( c4_Iter = c4.begin( ); c4_Iter != c4.end( ); c4_Iter++ )
      cout << *c4_Iter << " ";
   cout << endl;

   cout << "c5 = ";
   for ( c5_Iter = c5.begin( ); c5_Iter != c5.end( ); c5_Iter++ )
      cout << *c5_Iter << " ";
   cout << endl;

   cout << "c6 = ";
   for ( c6_Iter = c6.begin( ); c6_Iter != c6.end( ); c6_Iter++ )
      cout << *c6_Iter << " ";
   cout << endl;

   // Move deque c6 to deque c7
   deque <int> c7( move(c6) );
   deque <int>::iterator c7_Iter,
   
   cout << "c7 =" ;
   for ( c7_Iter = c7.begin( ) ; c7_Iter != c7.end( ) ; c7_Iter++ )
      cout << " " << *c7_Iter;
   cout << endl;
}

Output

c1 = 0 0 0 
c2 = 2 2 2 2 2 
c3 = 1 1 1 
c4 = 2 2 2 2 2 
c5 = 2 2 
c6 = 2 2 2 
c7 = 2 2 2 

Requisitos

encabezado: <deque>

espacio de nombres: std

Vea también

Referencia

deque Class

Biblioteca de plantillas estándar