list::list
Constructs a list of a specific size or with elements of a specific value or with a specific allocator or as a copy of all or part of some other list.
list( );
explicit list(
const Allocator& _Al
);
explicit list(
size_type _Count
);
list(
size_type _Count,
const Type& _Val
);
list(
size_type _Count,
const Type& _Val,
const Allocator& _Al
);
list(
const list<Type, Allocator>& _Right
);
template<class InputIterator>
list(
InputIterator _First,
InputIterator _Last
);
template<class InputIterator >
list(
InputIterator _First,
InputIterator _Last,
const Allocator& _Al
);
Parameters
_Al
The allocator class to use with this object._Count
The number of elements in the list constructed._Val
The value of the elements in the list constructed._Right
The list of which the constructed list is to be a copy._First
The position of the first element in the range of elements to be copied._Last
The position of the first element beyond the range of elements to be copied.
Remarks
All constructors store an allocator object (_Al) and initialize the list.
get_allocator returns a copy of the allocator object used to construct a list.
The first two constructors specify an empty initial list, the second specifying the allocator type (_Al) to be used.
The third constructor specifies a repetition of a specified number (_Count) of elements of the default value for class Type.
The fourth and fifth constructors specify a repetition of (_Count) elements of value _Val.
The sixth constructor specifies a copy of the list _Right.
The last two constructors copy the range [_First, _Last) of a list.
None of the constructors perform any interim reallocations.
Example
// list_class_list.cpp
// compile with: /EHsc
#include <list>
#include <iostream>
int main( )
{
using namespace std;
list <int>::iterator c1_Iter, c2_Iter, c3_Iter, c4_Iter, c5_Iter, c6_Iter;
// Create an empty list c0
list <int> c0;
// Create a list c1 with 3 elements of default value 0
list <int> c1( 3 );
// Create a list c2 with 5 elements of value 2
list <int> c2( 5, 2 );
// Create a list c3 with 3 elements of value 1 and with the
// allocator of list c2
list <int> c3( 3, 1, c2.get_allocator( ) );
// Create a copy, list c4, of list c2
list <int> c4(c2);
// Create a list c5 by copying the range c4[_First, _Last)
c4_Iter = c4.begin( );
c4_Iter++;
c4_Iter++;
list <int> c5( c4.begin( ), c4_Iter );
// Create a list c6 by copying the range c4[_First, _Last) and with
// the allocator of list c2
c4_Iter = c4.begin( );
c4_Iter++;
c4_Iter++;
c4_Iter++;
list <int> c6( c4.begin( ), c4_Iter, c2.get_allocator( ) );
cout << "c1 =";
for ( c1_Iter = c1.begin( ); c1_Iter != c1.end( ); c1_Iter++ )
cout << " " << *c1_Iter;
cout << endl;
cout << "c2 =";
for ( c2_Iter = c2.begin( ); c2_Iter != c2.end( ); c2_Iter++ )
cout << " " << *c2_Iter;
cout << endl;
cout << "c3 =";
for ( c3_Iter = c3.begin( ); c3_Iter != c3.end( ); c3_Iter++ )
cout << " " << *c3_Iter;
cout << endl;
cout << "c4 =";
for ( c4_Iter = c4.begin( ); c4_Iter != c4.end( ); c4_Iter++ )
cout << " " << *c4_Iter;
cout << endl;
cout << "c5 =";
for ( c5_Iter = c5.begin( ); c5_Iter != c5.end( ); c5_Iter++ )
cout << " " << *c5_Iter;
cout << endl;
cout << "c6 =";
for ( c6_Iter = c6.begin( ); c6_Iter != c6.end( ); c6_Iter++ )
cout << " " << *c6_Iter;
cout << endl;
}
c1 = 0 0 0
c2 = 2 2 2 2 2
c3 = 1 1 1
c4 = 2 2 2 2 2
c5 = 2 2
c6 = 2 2 2
Requirements
Header: <list>
Namespace: std