list::list (STL Samples)
Visual Studio 2005
Illustrates how to use the list::list Standard Template Library (STL) function in Visual C++.
explicit list( const A& Al = A( ) ); explicit list( size_type n, const T& v = T( ), const A& Al = A( ) ); list( const list& x ); list( const_iterator First, const_iterator Last, const A& Al = A( ) );
Note |
|---|
| The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability. |
The first constructor specifies an empty initial controlled sequence. The second constructor specifies a repetition of n elements of value x. The third constructor specifies a copy of the sequence controlled by x. The last constructor specifies the sequence [First, Last). All constructors store the allocator object Al, or for the copy constructor, the return value of x.get_allocator, in the data member allocator and initialize the controlled sequence.
// list_list.cpp
// compile with: /EHsc
// Demonstrates the different constructors for list<T>
#pragma warning (disable:4786)
#include <list>
#include <string>
#include <iostream>
using namespace std ;
typedef list<string> LISTSTR;
// Try each of the four constructors
int main()
{
LISTSTR::iterator i;
LISTSTR test; // default constructor
test.insert(test.end(), "one");
test.insert(test.end(), "two");
LISTSTR test2(test); // construct from another list
LISTSTR test3(3, "three"); // add several <T>'s
LISTSTR test4(++test3.begin(), // add part of another list
test3.end());
// Print them all out
// one two
cout << "test:";
for (i = test.begin(); i != test.end(); ++i)
cout << " " << *i;
cout << endl;
// one two
cout << "test:";
for (i = test2.begin(); i != test2.end(); ++i)
cout << " " << *i;
cout << endl;
// three three three
cout << "test:";
for (i = test3.begin(); i != test3.end(); ++i)
cout << " " << *i;
cout << endl;
// three three
cout << "test:";
for (i = test4.begin(); i != test4.end(); ++i)
cout << " " << *i;
cout << endl;
}
Note