Поделиться через


deque::size и deque::resize

Демонстрируется использование deque:: размер и deque:: размер Стандартные функции библиотеки стандартных шаблонов (STL) в Visual C++.

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

Заметки

ПримечаниеПримечание

Имена класса и параметра в прототипе не соответствует версии в файле заголовка.Некоторые были изменены для улучшения удобочитаемости.

размер функция-член возвращает длину управляемой последовательности.размер предоставляет то функция-член размер возвращает henceforth n.Если он должен сделать управляемую последовательность более длинным, он добавляет элементы со значением x.Если никакое значение не указано, то по умолчанию зависит от типа.Например, если deque chars, значение по умолчанию пустым.Если deque ints, по умолчанию используется значение ноль.max_size функция-член возвращает длину самой длинной последовательности, объект может отслеживать.

Пример

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

Пример результатов выполнения

Следующий результат для 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

Требования

заголовок:<deque>

См. также

Основные понятия

Образец библиотеки стандартных шаблонов