deque::size 和 deque::resize
在 Visual C++ 演示如何使用 、向量、双端队列:: 范围 和 、向量、双端队列:: 调整 标准 (STL)模板库函数。
size_type size( ) const;
void resize(
size_type n,
T x = T( )
);
size_type max_size( ) const;
备注
备注
类/参数名在原型不匹配版本在头文件。修改某些提高可读性。
范围 成员函数返回控件序列的长度。 调整 成员函数确保 范围 从此返回 n。 如果它必须使控件序列较长,它将附加一个值 X. 的元素 。 如果未提供任何值,则默认值取决于该类型。 例如,则为; 如果是 chars、向量、双端队列,默认值为空。 如果是 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