Поделиться через


Класс initializer_list

Предоставляет доступ к массиву элементов, в котором каждый элемент имеет указанный тип.

Синтаксис

template <class Type>
class initializer_list

Параметры

Тип
Тип данных элемента для сохранения в initializer_list.

Замечания

initializer_list можно создать при помощи списка заключенного в фигурные скобки инициализатора:

initializer_list<int> i1{ 1, 2, 3, 4 };

компилятор преобразует списки заключенного в фигурные скобки инициализатора с однородными элементами в initializer_list каждый раз, когда сигнатуре функции требуется initializer_list. Дополнительные сведения об использовании initializer_listсм. в разделе "Единая инициализация и делегирование конструкторов"

Конструкторы

Конструктор Description
initializer_list Создает объект типа initializer_list.

Определения типов

Введите имя Description
value_type Тип элементов в initializer_list.
reference Тип, предоставляющий ссылку на элемент в initializer_list.
const_reference Тип, предоставляющий постоянную ссылку на элемент в initializer_list.
size_type Тип, представляющий количество элементов в initializer_list.
iterator Тип, предоставляющий итератор для initializer_list.
const_iterator Тип, предоставляющий постоянный итератор для initializer_list.

Функции элементов

Функция-член Description
begin Возвращает указатель на первый элемент в initializer_list.
end Возвращает указатель на позицию, следующую за последним элементом в initializer_list.
size Возвращает количество элементов в контейнере initializer_list.

Требования

Заголовок:<initializer_list>

Пространство имен: std

initializer_list::begin

Возвращает указатель на первый элемент в initializer_list.

constexpr const InputIterator* begin() const noexcept;

Возвращаемое значение

Указатель на первый элемент initializer_list. Если список пуст, указателем будет одинаковым для начала и конца списка.

initializer_list::end

Возвращает указатель на позицию, следующую за последним элементом в initializer list.

constexpr const InputIterator* end() const noexcept;

Возвращаемое значение

Указатель на позицию, следующую за последним элементом в списке. Если список пуст, он совпадает с указателем на первый элемент в списке.

initializer_list::initializer_list

Создает объект типа initializer_list.

constexpr initializer_list() noexcept;
initializer_list(const InputIterator First, const InputIterator Last);

Параметры

First
Положение первого элемента в диапазоне копируемых элементов.

Последняя
Положение первого элемента после диапазона копируемых элементов.

Замечания

Объект initializer_list основан на массиве объектов указанного типа. Копирование initializer_list второго экземпляра списка, указывающего на те же объекты; базовые объекты не копируются.

Пример

// 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

Возвращает количество элементов в списке.

constexpr size_t size() const noexcept;

Возвращаемое значение

Количество элементов в списке.

См. также

<forward_list>