Article ID: 163359
Article Last Modified on 9/17/2003
<list> <string> <iostream>
size_type max_size() const; size_type size() const; void resize(size_type n, T x = T());NOTE: The class/parameter names in the prototype may not match the version in the header file. Some have been modified to improve readability.
//////////////////////////////////////////////////////////////////////
//
// Compile options needed: -GX
//
// size.cpp : This example shows how to resize a list<T>. It also
// uses list::size() and list::max_size().
//
// Functions
// ---------
//
// list::size
// list::resize
// list::max_size
//
// Written by Andrew Bradnan
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#include <list>
#include <string>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef list<string, allocator<string> > LISTSTR;
void main()
{
LISTSTR test;
LISTSTR::iterator i;
cout << "max_size() = " << test.max_size() << endl;
test.insert(test.begin(), 10, "test");
cout << "There are " << test.size() << " elements." << endl;
// test test test test test test test test test test
for (i = test.begin(); i != test.end(); ++i)
cout << *i << " ";
cout << endl;
// Make it smaller
test.resize(5);
cout << "There are " << test.size() << " elements." << endl;
// test test test test test
for (i = test.begin(); i != test.end(); ++i)
cout << *i << " ";
cout << endl;
// Make it bigger
test.resize(10, "bigger");
// test test test test test bigger bigger bigger bigger bigger
cout << "There are " << test.size() << " elements." << endl;
for (i = test.begin(); i != test.end(); ++i)
cout << *i << " ";
cout << endl;
test.clear();
cout << "There are " << test.size() << " elements." << endl;
}
The Program Output is:
max_size() = 268435455
There are 10 elements.
test test test test test test test test test test
There are 5 elements.
test test test test test
There are 10 elements.
test test test test test bigger bigger bigger bigger bigger
There are 0 elements.
Additional query words: STL STLSample list max_size size resize clear kbSTL
Keywords: kbhowto kbcode KB163359