deque::size e deque::resize

Viene illustrato come utilizzare deque:: dimensione e deque:: ridimensionare Funzioni della libreria di modelli standard (STL) in Visual C++.

size_type size( ) const; 
void resize(
   size_type n,
   T x = T( )
);
size_type max_size( ) const;

Note

[!NOTA]

La classe/nomi di parametro nel prototipo non corrisponde alla versione nel file di intestazione.alcuni sono stati modificati per migliorare la leggibilità.

dimensione la funzione membro restituisce la lunghezza della sequenza selezionata.ridimensionare la funzione membro assicura tale dimensione ogni volta che verrà restituito n.Se è necessario rendere la sequenza selezionata più lunga, accoda elementi con valore x.Se non viene fornito alcun valore, il valore predefinito dipende dal tipo.Ad esempio, se è un deque di chars, l'impostazione predefinita è uno spazio vuoto.se è un deque di ints, l'impostazione predefinita è zero.max_size la funzione membro restituisce la lunghezza della sequenza più lunga che l'oggetto possibile controllare.

Esempio

// sizeresi.cpp
// compile with: /EHsc
//
// Functions:
//    size
//    resize
//    max_size
//    begin
//    end

#include <iostream>
#include <deque>

using namespace std;

typedef deque<char >  CHARDEQUE;
void print_contents (CHARDEQUE  deque, char*);

int main()
{
    //create a  with  A, B, C and D
    CHARDEQUE  a;
    a.push_back('A');
    a.push_back('B');
    a.push_back('C');
    a.push_back('D');

    //print out the contents

    print_contents (a,"a");
    cout <<"max_size of a is " <<a.max_size() <<endl;
    cout <<"size of a is " <<a.size() <<endl;

    //let us increase the size to 10
    // and set the new elements to be 'X'
    a.resize(10,'X');
    print_contents (a,"a");
    cout <<"size of a is " <<a.size() <<endl;

    //let us resize it to 5
    a.resize(5);
    print_contents (a,"a");
    cout <<"size of a is " <<a.size() <<endl;
    cout <<"max_size of a is still " <<a.max_size() <<endl;

    }

//function to print the contents of deque
void print_contents (CHARDEQUE  deque, char *name)
{
    CHARDEQUE::iterator pdeque;

    cout << "The contents of " << name << " :";
    for(pdeque = deque.begin();
        pdeque != deque.end();
        pdeque++)
    {
        cout << " " << *pdeque ;
    }
    cout<<endl;
}

Esempio di output

Nell'output è per x86.

The contents of a : A B C D
max_size of a is 4294967295
size of a is 4
The contents of a : A B C D X X X X X X
size of a is 10
The contents of a : A B C D X
size of a is 5
max_size of a is still 4294967295

Requisiti

intestazione: <deque>

Vedere anche

Concetti

Esempi di una libreria di modelli standard