Share via


deque::size y deque::resize

Muestra cómo utilizar deque:: tamaño y las funciones de la biblioteca estándar de la plantilla (STL) de deque:: cambie el tamaño en Visual C++.

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

Comentarios

[!NOTA]

La clase y los nombres de parámetro en el prototipo no coincide con la versión del archivo de encabezado.Algunos se han modificado para mejorar la legibilidad.

La función miembro de tamaño devuelve la longitud de la secuencia controlada.La función miembro de cambie el tamaño garantiza que tamaño en adelante devuelve *n.*si debe crear la secuencia controlada más larga, anexa elementos con el valor *x.*Si no se proporciona ningún valor, el valor predeterminado depende del tipo.Por ejemplo, si es un deque de s para char, el valor predeterminado es un espacio en blanco.Si es un deque de s para int, el valor predeterminado es cero.La función miembro de max_size devuelve la longitud de la secuencia más larga que el objeto puede controlar.

Ejemplo

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

Resultados del ejemplo

El resultado siguiente es para 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

Requisitos

encabezado: <deque>

Vea también

Conceptos

Ejemplos de biblioteca de plantillas estándar