std::initializer_list<T>::empty
From ja.cppreference.net
bool empty() const noexcept;
|
(C++11以降) (C++14以降constexpr) |
|
initializer_listが空かどうかを調べます。return size() == 0;と同等です。
戻り値
trueinitializer_listが空の場合はfalse、そうでなければ
。
計算量
定数時間
注記empty2026-05-27現在、libstdc++はP3016R6からのempty関数の追加をC++11に対する欠陥報告として扱っておらず、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 | std::initializer_listC++11
empty |
関数が欠如していた |
追加した
size |
(C++11) 初期化子リストの要素数を返します |