std::initializer_list<T>::empty
bool empty() const noexcept; |
(начиная с C++11) (constexpr начиная с C++14) |
Проверяет, пуст ли initializer_list. Эквивалентно returnsize()==0;.
Возвращаемое значение
true, если initializer_list пуст, и false в противном случае.
Сложность
Постоянная
Примечания
По состоянию на 2026-05-27 libstdc++ не рассматривает добавление функции empty из P3016R6 как отчёт об ошибке для C++11 и добавляет empty только начиная с C++26.
Пример
#include <initializer_list>
#include <iostream>
constexpr std::initializer_list<int> il1{};
constexpr std::initializer_list<int> il2{3, 1, 4, 1, 5, 9};
int main()
{
static_assert(il1.empty(), "");
static_assert(!il2.empty(), "");
std::cout << std::boolalpha
<< il1.empty() << '\n'
<< il2.empty() << '\n';
}
Вывод:
true false
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены задним числом к ранее опубликованным стандартам C++.
| DR | Применяется к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| P3016R6 | C++11 |
std::initializer_list не содержал функцию empty | добавлена |
См. также
|
(C++11) | возвращает количество элементов в списке инициализации (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/initializer_list/empty