Freigeben über


deque::size und deque::resize

Veranschaulicht, wie Doppelschlange::Größe verwendet und Doppelschlange::Ändern Sie die Größe Standardvorlagenbibliothek (STL) funktioniert in Visual C++.

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

Hinweise

HinweisHinweis

Die Klasse/Parameternamen im Prototyp stimmen nicht mit der Version in der Headerdatei ab.Einige wurden geändert, um die Lesbarkeit zu verbessern.

Die size-Memberfunktion gibt die Länge der kontrollierten Sequenz zurück.Die Ändern Sie die Größe-Memberfunktion wird sichergestellt, dass size künftig *N.*zurückgibt *.*Wenn die gesteuerte Sequenz länger ausführen muss, wird er Elemente mit dem Wert x *an.*Wenn kein Wert angegeben ist, hängt der Standardwert nach dem Typ ab.Wenn beispielsweise eine Doppelschlange von chars ist, wird standardmäßig leer.Wenn eine Doppelschlange von ints ist, lautet der Standardwert Null.Die max_size Memberfunktion gibt die Länge der längsten Sequenz zurück, die das Objekt steuern kann.

Beispiel

// 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;
}

Beispielausgabe

Die folgende Ausgabe wird für x86-, oder legt diesen fest.

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

Anforderungen

Header: <deque>

Siehe auch

Konzepte

Standardvorlagenbibliotheks-Beispiele