std::forward_list empty() 方法
- 自 C++20 起
- 自 C++11 起
// Const version only
[[nodiscard]] constexpr bool empty() const noexcept;
// Const version only
bool empty() const noexcept;
检查容器是否没有元素,即 begin() == end()
。
参数
(无)
返回值
如果容器为空,则为 true
,否则为 false
。
复杂度
常数 - O(1)。
为什么是 [[nodiscard]]
?
[[nodiscard]]
属性是一个属性,它会在函数被调用且其结果被丢弃时引发编译器警告。
之所以 `nodiscard` 只应用于 `empty` 方法,是因为程序员可能会将形容词 `empty`(意思是“此容器是否为空?”)与动词 `empty`(意思是“请帮我清空此容器。”)混淆。
示例
Main.cpp
#include <forward_list>
#include <iostream>
int main()
{
std::forward_list<int> numbers;
std::cout << std::boolalpha;
std::cout << "Initially, numbers.empty(): " << numbers.empty() << '\n';
numbers.push_front(42);
numbers.push_front(13317);
std::cout << "After adding elements, numbers.empty(): " << numbers.empty() << '\n';
}
输出
Initially, numbers.empty(): true
After adding elements, numbers.empty(): false