std::ranges::view_interface<D>::front
constexpr decltype(auto) front()
requires ranges::forward_range<D>;
|
(1) | (C++20 起) |
constexpr decltype(auto) front() const
requires ranges::forward_range<const D>;
|
(2) | (C++20 起) |
成员函数 front() 的默认实现返回派生类型视图中的第一个元素。元素是按值返回还是按引用返回取决于operator*迭代器类型。
等价于 return *ranges::begin(derived);,其中 derived 为:
static_cast<D&>(*this)static_cast<const D&>(*this)
|
如果 |
(至 C++26) |
|
如果 |
(C++26 起) |
返回值
视图中的第一个元素。
注释
在 C++20 中,标准库中所有派生自
std::ranges::view_interface
的类型均未提供自身的
front()
成员函数。这些类型几乎全部采用默认实现。
一个显著的例外是
std::ranges::basic_istream_view
。由于它永远不满足
forward_range
的要求,该视图无法使用继承的
front()
方法。
继承的
front()
成员函数可用于
std::ranges::empty_view
,但调用该函数始终会导致未定义行为。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
(C++11)
(C++14)
|
返回指向容器或数组起始位置的迭代器
(函数模板) |
|
(C++20)
|
返回指向范围起始位置的迭代器
(定制点对象) |
|
(C++20)
|
返回指向只读范围起始位置的迭代器
(定制点对象) |