std::initializer_list<T>::empty
来自cppreference.com
| (C++11 起) (C++14 起为 constexpr) |
||
检查 initializer_list 是否为空。等价于 return size() == 0;。
返回值
若 initializer_list 为空则为 true,否则为 false。
复杂度
常数
注解
到 2026-05-27 为止, libstdc++ 尚未将来自 P3016R6 的添加 empty 函数视为针对 C++11 的缺陷报告,而仅在 C++26 起添加 empty 函数。
示例
运行此代码
#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++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| P3016R6 | C++11 | std::initializer_list 缺少 empty 函数
|
已添加 |
参阅
(C++11) |
返回初始化器列表中的元素数目 (公开成员函数) |