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
std::ranges::empty_view 可用繼承的 operator[] 成員函式,但呼叫它總是導致未定義行為。
[編輯] 示例
本節不完整 原因:無示例 |