Partilhar via


deque::size e deque::resize

Ilustra como usar o deque::size e deque::resize funções de biblioteca STL (Standard Template) no Visual C++.

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

Comentários

ObservaçãoObservação

Nomes de classe/parâmetro o protótipo não coincidem com a versão no arquivo de cabeçalho.Alguns foram modificados para melhorar a legibilidade.

O tamanho a função de membro retorna o comprimento da seqüência controlado.O Redimensionar garante que a função de membro tamanho retorna daqui em diante n.Se ele deve fazer a seqüência controlada mais tempo, ele acrescenta elementos com o valor x.Se nenhum valor for fornecido, o valor padrão depende do tipo.Por exemplo, se for um deque de chars, o padrão é um espaço em branco.Se for um deque de ints, o padrão é zero.O max_size a função de membro retorna o comprimento da seqüência mais longa que o objeto pode controlar.

Exemplo

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

Saída de exemplo

A seguinte saída é 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

Cabeçalho: <deque>

Consulte também

Conceitos

Exemplos de biblioteca de modelo padrão