Класс 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;
Возвращаемое значение
Количество элементов в списке.