std::ranges::adjacent_view<V,N>::iterator<Const>::operator*

来自cppreference.com
< cpp‎ | ranges‎ | adjacent view‎ | iterator
 
 
范围库
范围适配器
 
 
constexpr auto operator*() const;
(C++23 起)

返回底层迭代器数组所指向的 V 中的元素。

current_ 为底层迭代器数组。

等价于:

return /*tuple-transform*/([](auto& i) -> decltype(auto) { return *i; }, current_);

参数

(无)

返回值

当前元素,它是到各底层元素的引用的 std::tuple

注解

不提供 operator->

示例

#include <ranges>
#include <tuple>
 
int main()
{
    constexpr static auto v = {0, 1, 2, 3, 4, 5};
    //                               └──┬──┘
    //                                  └─────────────────┐
    constexpr auto view {v | std::views::adjacent<3>}; // │
    constexpr auto iter {view.begin() + 2};            // │
    //              ┌────────────────────┬────────────────┘
    //              │                 ┌──┴──┐
    static_assert(*iter == std::tuple{2, 3, 4});
}

参阅

根据索引访问元素
(公开成员函数)