bool empty() const; // C++03
[[nodiscard]] bool empty() const; // C++20
bool empty() const; // C++26
概要
stack が空か否か、つまり要素数が 0 か否かを返す。
内部のコンテナの empty() メンバ関数を呼ぶ。
戻り値
要素数が 0 の場合は true、それ以外の場合は false 。
計算量
定数時間 O(1)。
例
#include <iostream>
#include <stack>
int main()
{
std::stack<int> st;
// 空なら "empty", そうでなければ "not empty" と表示する
if (st.empty()) {
std::cout << "empty" << std::endl;
} else {
std::cout << "not empty" << std::endl;
}
// 要素を追加
st.push(1);
// 空なら "empty", そうでなければ "not empty" と表示する
if (st.empty()) {
std::cout << "empty" << std::endl;
} else {
std::cout << "not empty" << std::endl;
}
}
出力
empty
not empty
実装例
bool empty() const { return c.empty(); }
関連項目
| 名前 | 説明 |
|---|---|
size |
要素数を返す |
参照
- P0600R1
[[nodiscard]]in the Library- C++20で
[[nodiscard]]が付加された
- C++20で
- P2422R1 Remove
nodiscardannotations from the standard library specification- C++26で
[[nodiscard]]指定が削除された
- C++26で