initializer_list Class
The latest version of this topic can be found at initializer_list Class.
Provides access to an array of elements in which each member is of the specified type.
Syntax
template <class Type>
class initializer_list
Parameters
Parameter | Description |
---|---|
_Elem |
The element data type to be stored in the initializer_list . |
first |
The pointer to the first element of the initializer_list . |
last |
The pointer to the last element of the initializer_list . |
Remarks
An initializer_list
can be constructed using a braced initializer list:
initializer_list<int> i1{ 1, 2, 3, 4 };
The compiler transforms braced initializer lists with homogeneous elements into an initializer_list
whenever the function signature requires an initializer_list
. For more details on using initializer_list
, see Uniform Initialization and Delegating Constructors
Constructors
initializer_list | Constructs an object of type initializer_list . |
Typedefs
value_type | The type of the elements in the initializer_list . |
reference | A type that provides a reference to an element in the initializer_list . |
const_reference | A type that provides a constant reference to an element in the initializer_list . |
size_type | A type that represents the number of elements in the initializer_list . |
iterator | A type that provides an iterator for the initializer_list . |
const_iterator | A type that provides a constant iterator for the initializer_list . |
Member Functions
begin | Returns a pointer to the first element in an initializer_list . |
end | Returns a pointer to one past the last element in an initializer_list . |
size | Returns the number of elements in the initializer_list . |
Requirements
Header: <initializer_list>
Namespace: std
initializer_list::begin
Returns a pointer to the first element in an initializer_list
.
constexpr const InputIterator* begin() const noexcept;
Return Value
A pointer to the first element of the initializer_list
. If the list is empty, the pointer is the same for the beginning and end of the list.
Remarks
initializer_list::end
Returns a pointer to one past the last element in an initializer list
.
constexpr const InputIterator* end() const noexcept;
Return Value
A pointer to one past the last element in the list. If the list is empty, this is the same as the pointer to the first element in the list.
initializer_list::initializer_list
Constructs an object of type initializer_list
.
constexpr initializer_list() noexcept;initializer_list(const InputIterator First, const InputIterator Last);
Parameters
Parameter | Description |
---|---|
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
An initializer_list
is based on an array of objects of the specified type. Copying an initializer_list
creates a second instance of a list pointing to the same objects; the underlying objects are not copied.
Example
// initializer_list_class.cpp
// compile with: /EHsc
#include <initializer_list>
#include <iostream>
int main()
{
using namespace std;
// Create an empty initializer_list c0
initializer_list <int> c0;
// Create an initializer_list c1 with 1 element
initializer_list <int> c1{ 3 };
// Create an initializer_list c2 with 5 elements
initializer_list <int> c2{ 5, 4, 3, 2, 1 };
// Create a copy, initializer_list c3, of initializer_list c2
initializer_list <int> c3(c2);
// Create a initializer_list c4 by copying the range c3[ first, last)
const int* c3_ptr = c3.begin();
c3_ptr++;
c3_ptr++;
initializer_list <int> c4(c3.begin(), c3_ptr);
// Move initializer_list c4 to initializer_list c5
initializer_list <int> c5(move(c4));
cout << "c1 =";
for (auto c : c1)
cout << " " << c;
cout << endl;
cout << "c2 =";
for (auto c : c2)
cout << " " << c;
cout << endl;
cout << "c3 =";
for (auto c : c3)
cout << " " << c;
cout << endl;
cout << "c4 =";
for (auto c : c4)
cout << " " << c;
cout << endl;
cout << "c5 =";
for (auto c : c5)
cout << " " << c;
cout << endl;
}
c1 = 3c2 = 5 4 3 2 1c3 = 5 4 3 2 1c4 = 5 4c5 = 5 4
initializer_list::size
Returns the number of elements in the list.
constexpr size_t size() const noexcept;
Return Value
The number of elements in the list.