Partager via


deque::size et deque::resize

Explique comment utiliser les fonctions de la bibliothèque de modèles Standard de deque : : taille et (STL) de deque : : redimensionnez dans Visual C++.

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

Notes

[!REMARQUE]

Les noms de classes/paramètre dans le prototype ne correspondent pas à la version du fichier d'en-tête.certains ont été modifiés pour améliorer la lisibilité.

La fonction membre de taille retourne la longueur de la séquence contrôlée.La fonction membre de redimensionnez garantit que taille retourne désormais *le N.*S'il doit rendre la séquence contrôlée plus longue, il ajoute les éléments avec la valeur *X.*si aucune valeur n'est fournie, la valeur par défaut dépend du type.par exemple, si c'est un deque d' chars, la valeur par défaut est un espace.S'il s'agit d'un deque d' ints, la valeur par défaut est zéro.La fonction membre de max_size retourne la longueur de la séquence plus longue que l'objet peut contrôler.

Exemple

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

Résultat de l'exemple

La sortie suivante provient pour 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

Configuration requise

en-tête : <deque>

Voir aussi

Concepts

Exemples de modèles Standard