以下程序出处: http://topic.csdn.net/u/20100702/11/fb811f9f-d2f3-4306-b2a9-3e9629824734.html
#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;
}