std::ranges::view_interface<D>::operator[]
来自 cppreference.com
< cpp | ranges | view interface
template<ranges::random_access_range R = D> constexpr decltype(auto) operator[]( ranges::range_difference_t<R> n ); |
(1) | (自 C++20 起) |
template<ranges::random_access_range R = const D> constexpr decltype(auto) operator[]( ranges::range_difference_t<R> n ) const; |
(2) | (自 C++20 起) |
operator[] 成员函数的默认实现从相对于开始迭代器的指定偏移量处获取元素,重用迭代器类型的 operator[]。
2) 与 (1) 相同,只是
derived
为 static_cast<const D&>(*this)。内容 |
[编辑] 参数
n | - | 要返回的元素的位置 |
[编辑] 返回值
相对于开始迭代器偏移 n
处的元素。
[编辑] 注释
在 C++20 中,标准库中没有从 std::ranges::view_interface 派生的类型提供自己的 operator[] 成员函数。
但是,以下派生类型不能使用默认实现,因为它们永远不满足 random_access_range
- std::ranges::basic_istream_view
- std::ranges::filter_view
- std::ranges::join_view
- std::ranges::lazy_split_view
- std::ranges::split_view
继承的 operator[] 成员函数可用于 std::ranges::empty_view,但调用它总是导致未定义的行为。
[编辑] 示例
本节不完整 原因:没有示例 |