跳到主要内容

std::array empty() 方法

// Const version only
[[nodiscard]] constexpr bool empty() const noexcept;

检查容器是否没有元素,即 begin() == end()

参数

(无)

返回值

如果容器为空,则为 true,否则为 false

复杂度

常数。

为什么是 [[nodiscard]]

[[nodiscard]] 属性是一种在函数被调用且其结果被丢弃时引发编译器警告的属性。

将 nodiscard 属性仅应用于 empty 方法的原因是,程序员很可能会将形容词 empty(表示 - 此容器是否为空?)与动词 empty(表示 - 请将此容器清空。)混淆。

示例

Main.cpp
#include <array>
#include <iostream>

int main()
{
std::array<char, 6> letters {'a', 'b', 'c', 'd', 'e', 'f'};

if (!letters.empty()) {
std::cout << "The last character is '" << letters.back() << "'.\n";
}
}
可能输出
numbers.empty(): false
no_numbers.empty(): true
本文源自此 CppReference 页面。它可能为了改进或编辑偏好而进行了修改。点击“编辑此页面”查看本文档的所有更改。
悬停查看原始许可证。

std::array empty() 方法

// Const version only
[[nodiscard]] constexpr bool empty() const noexcept;

检查容器是否没有元素,即 begin() == end()

参数

(无)

返回值

如果容器为空,则为 true,否则为 false

复杂度

常数。

为什么是 [[nodiscard]]

[[nodiscard]] 属性是一种在函数被调用且其结果被丢弃时引发编译器警告的属性。

将 nodiscard 属性仅应用于 empty 方法的原因是,程序员很可能会将形容词 empty(表示 - 此容器是否为空?)与动词 empty(表示 - 请将此容器清空。)混淆。

示例

Main.cpp
#include <array>
#include <iostream>

int main()
{
std::array<char, 6> letters {'a', 'b', 'c', 'd', 'e', 'f'};

if (!letters.empty()) {
std::cout << "The last character is '" << letters.back() << "'.\n";
}
}
可能输出
numbers.empty(): false
no_numbers.empty(): true
本文源自此 CppReference 页面。它可能为了改进或编辑偏好而进行了修改。点击“编辑此页面”查看本文档的所有更改。
悬停查看原始许可证。