deque::deque
Constrói um deque de um tamanho específico ou com elementos de um valor específico ou com um distribuidor específico ou como uma cópia inteira ou a parte de qualquer outro 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 |
Descrição |
_Al |
A classe do distribuidor para usar com esse objeto. |
_Count |
O número de elementos em deque construído. |
_Val |
O valor dos elementos em deque construído. |
_Right |
O deque de que o deque é construído ser uma cópia. |
_First |
Posição do primeiro elemento no intervalo de elementos ser copiado. |
_Last |
Posição do primeiro elemento além do intervalo de elementos ser copiado. |
Comentários
Todos os construtores armazenam um objeto do distribuidor (_Al) e inicializam o deque.
Os primeiros dois construtores especificam um deque inicial vazia, o segundo especificando o tipo do distribuidor (_Al) a ser usado.
O terceiro construtor especifica uma repetição de um número especificado ()_Countde elementos de valor padrão para a classe Tipo.
Os construtores e quarta quintos especificam uma repetição de elementos () de_Countde valor _Val.
O sexto construtor especifica uma cópia de deque _Right.
O sétimo e os construtores oitavos copia o intervalo [_First, _Last) de um deque.
O construtor do último move o deque _Right.
Nenhum dos construtores realizam todas as realocações temporário.
Exemplo
// 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;
}
Saída
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
Cabeçalho: <deque>
namespace: STD