std::ranges::dangling

来自cppreference.com
< cpp‎ | ranges
定义于头文件 <ranges>
struct dangling;
(C++20 起)

dangling 是占位类型兼空类类型,与模板别名 ranges::safe_iterator_tranges::safe_subrange_t 一同使用。

某些通常返回 range 的迭代器或子范围的有制约算法,在接收不实现仅为说明的概念 __ForwardingRange 的特定的右值 range 参数时,将取而代之地返回 dangling 以避免潜在返回悬垂的结果。

目录

[编辑] 成员函数

std::ranges::dangling::dangling

constexpr dangling() noexcept = default;
(1)
template<class... Args>
constexpr dangling(Args&&...) noexcept { }
(2)
1) dangling 可平凡默认构造。
2) dangling 能从任意数量及任意非 void 类型的参数构造。构造自身无任何副作用。

换言之,在良式的非聚合初始化中以 dangling 替换类型(例如迭代器类型)后,所得的初始化亦为良式。

[编辑] 示例

[编辑] 参阅

获得同时塑造 __ForwardingRangerange 的迭代器类型或子范围类型
(别名模板) [编辑]