initializer_list, klasa
Zapewnia dostęp do tablicy elementów, w których każdy element członkowski ma określony typ.
Składnia
template <class Type>
class initializer_list
Parametry
Type
Typ danych elementu, który ma być przechowywany w obiekcie initializer_list
.
Uwagi
Obiekt initializer_list
można skonstruować przy użyciu listy inicjatora nawiasów klamrowych:
initializer_list<int> i1{ 1, 2, 3, 4 };
Kompilator przekształca listy inicjatora nawiasów klamrowych z homogenicznym elementem initializer_list
za każdym razem, gdy podpis funkcji wymaga .initializer_list
Aby uzyskać więcej informacji na temat używania programu initializer_list
, zobacz Ujednolicone inicjowanie i delegowanie konstruktorów
Konstruktory
Konstruktor | opis |
---|---|
initializer_list | Tworzy obiekt typu initializer_list . |
Typedefs
Nazwa typu | opis |
---|---|
value_type |
Typ elementów w obiekcie initializer_list . |
reference |
Typ, który zawiera odwołanie do elementu w elemencie initializer_list . |
const_reference |
Typ, który zawiera stałe odwołanie do elementu w elemencie initializer_list . |
size_type |
Typ reprezentujący liczbę elementów w obiekcie initializer_list . |
iterator |
Typ, który udostępnia iterator dla elementu initializer_list . |
const_iterator |
Typ, który udostępnia iterator stały dla elementu initializer_list . |
Funkcje składowe
Funkcja składowa | opis |
---|---|
zaczynać | Zwraca wskaźnik do pierwszego elementu w obiekcie initializer_list . |
koniec | Zwraca wskaźnik do jednego ostatniego elementu w obiekcie initializer_list . |
rozmiar | Zwraca liczbę elementów w elem.initializer_list |
Wymagania
Nagłówek:<initializer_list>
Przestrzeń nazw: std
initializer_list::begin
Zwraca wskaźnik do pierwszego elementu w obiekcie initializer_list
.
constexpr const InputIterator* begin() const noexcept;
Wartość zwracana
Wskaźnik do pierwszego elementu elementu initializer_list
. Jeśli lista jest pusta, wskaźnik jest taki sam dla początku i końca listy.
initializer_list::end
Zwraca wskaźnik do jednego ostatniego elementu w obiekcie initializer list
.
constexpr const InputIterator* end() const noexcept;
Wartość zwracana
Wskaźnik do jednego obok ostatniego elementu na liście. Jeśli lista jest pusta, jest taka sama jak wskaźnik do pierwszego elementu na liście.
initializer_list::initializer_list
Tworzy obiekt typu initializer_list
.
constexpr initializer_list() noexcept;
initializer_list(const InputIterator First, const InputIterator Last);
Parametry
Pierwszy
Położenie pierwszego elementu w zakresie elementów do skopiowania.
Ostatni
Położenie pierwszego elementu poza zakresem elementów do skopiowania.
Uwagi
Obiekt initializer_list
jest oparty na tablicy obiektów określonego typu. Kopiowanie obiektu initializer_list
powoduje utworzenie drugiego wystąpienia listy wskazującej te same obiekty; obiekty bazowe nie są kopiowane.
Przykład
// 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 << "c5 =";
for (auto c : c5)
cout << " " << c;
cout << endl;
}
c1 = 3
c2 = 5 4 3 2 1
c3 = 5 4 3 2 1
c5 = 5 4
initializer_list::size
Zwraca liczbę elementów na liście.
constexpr size_t size() const noexcept;
Wartość zwracana
Liczba elementów na liście.