bool empty() const noexcept; // C++11
[[nodiscard]] bool empty() const noexcept; // C++20
概要
コンテナが空かどうかを判定する。
戻り値
コンテナが空であれば true
、そうでなければ false
を返す。
例外
投げない。
計算量
定数
例
#include <iostream>
#include <string>
#include <unordered_map>
int main()
{
std::cout << std::boolalpha;
std::unordered_map<std::string, int> um;
// 空
std::cout << um.empty() << std::endl;
um.emplace("1st", 1);
// 空ではない
std::cout << um.empty() << std::endl;
um.clear();
// 空
std::cout << um.empty() << std::endl;
}
出力
true
false
true
バージョン
言語
- C++11
処理系
- Clang: 3.0 ✅, 3.1 ✅
- GCC: 4.7.0 ✅
- ICC: ?
- Visual C++: ?
実装例
template <class Key, class Hash, class Pred, class Allocator>
inline bool unordered_map<Key, Hash, Pred, Allocator>::empty() const noexcept {
return [size](size)() == 0; // begin() == end() でも OK
}
関連項目
名前 | 説明 |
---|---|
size |
要素数の取得 |
max_size |
格納可能な最大の要素数の取得 |