std::optional<T>::
operator bool,
std::optional<T>::
has_value
来自cppreference.com
<
cpp
|
utility
|
optional
C++
语言
标准库头文件
自立与有宿主实现
具名要求
语言支持库
概念库
(C++20)
诊断库
工具库
字符串库
容器库
迭代器库
范围库
(C++20)
算法库
数值库
本地化库
输入/输出库
文件系统库
(C++17)
正则表达式库
(C++11)
原子操作库
(C++11)
线程支持库
(C++11)
技术规范
工具库
语言支持
类型支持
(基本类型、 RTTI 、类型特征)
库功能特性测试宏
(C++20)
动态内存管理
程序工具
错误处理
协程支持
(C++20)
变参数函数
launder
(C++17)
initializer_list
(C++11)
source_location
(C++20)
三路比较
(C++20)
three_way_comparable
three_way_comparable_with
(C++20)
(C++20)
strong_ordering
(C++20)
weak_ordering
(C++20)
partial_ordering
(C++20)
common_comparison_category
(C++20)
compare_three_way_result
(C++20)
compare_three_way
(C++20)
strong_order
(C++20)
weak_order
(C++20)
partial_order
(C++20)
compare_strong_order_fallback
(C++20)
compare_weak_order_fallback
(C++20)
compare_partial_order_fallback
(C++20)
is_eq
is_neq
is_lt
is_lteq
is_gt
is_gteq
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
通用工具
日期和时间
函数对象
bitset
格式化库
(C++20)
hash
(C++11)
integer_sequence
(C++14)
关系运算符
(C++20 中弃用)
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
整数比较函数
cmp_equal
cmp_less
cmp_less_than
(C++20)
(C++20)
(C++20)
cmp_not_equal
cmp_greater
cmp_greater_than
(C++20)
(C++20)
(C++20)
in_range
(C++20)
swap 与类型运算
swap
ranges::swap
(C++20)
exchange
(C++14)
declval
(C++11)
forward
(C++11)
move
(C++11)
move_if_noexcept
(C++11)
as_const
(C++17)
to_underlying
(C++23)
常用词汇类型
pair
tuple
(C++11)
optional
(C++17)
any
(C++17)
variant
(C++17)
tuple_size
(C++11)
tuple_element
(C++11)
apply
(C++17)
make_from_tuple
(C++17)
初等字符串转换
to_chars
(C++17)
from_chars
(C++17)
chars_format
(C++17)
栈踪
stacktrace_entry
(C++23)
basic_stacktrace
(C++23)
std::optional
成员函数
optional::optional
(C++17)
optional::~optional
(C++17)
optional::operator=
(C++17)
观察器
optional::operator->
optional::operator*
(C++17)
(C++17)
optional::operator bool
optional::has_value
(C++17)
(C++17)
optional::value
(C++17)
optional::value_or
(C++17)
单子操作
optional::and_then
(C++23)
optional::transform
(C++23)
optional::or_else
(C++23)
修改器
optional::emplace
(C++17)
optional::swap
(C++17)
optional::reset
(C++17)
非成员函数
operator==
operator!=
operator<
operator<=
operator>
operator>=
operator<=>
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++20)
make_optional
(C++17)
swap
(C++17)
推导指引
辅助类
hash
(C++17)
nullopt_t
(C++17)
in_place_t
(C++17)
bad_optional_access
(C++17)
辅助对象
nullopt
(C++17)
in_place
(C++17)
constexpr
explicit
operator
bool
(
)
const
noexcept
;
(C++17 起)
constexpr
bool
has_value
(
)
const
noexcept
;
(C++17 起)
检查
*
this
是否含值。
参数
(无)
返回值
若
*
this
含值则为
true
,若
*
this
不含值则
false
。