Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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& _Right
);
template<class InputIterator>
list(
InputIterator _First,
InputIterator _Last
);
template<class InputIterator >
list(
InputIterator _First,
InputIterator _Last,
const Allocator& _Al
);
list(
list&& _Right
);
Parameters
Parameter |
Description |
_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 next two constructors copy the range [_First, _Last) of a list.
The last constructor moves the list _Right.
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, c7_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;
// Move list c6 to list c7
list <int> c7( move(c6) );
list <int>::iterator c7_Iter,
cout << "c7 =" ;
for ( c7_Iter = c7.begin( ) ; c7_Iter != c7.end( ) ; c7_Iter++ )
cout << " " << *c7_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 c7 = 2 2 2
Requirements
Header: <list>
Namespace: std