std::ranges::elements_view<V,F>::iterator<Const>::operator[]
來自 cppreference.com
< cpp | 範圍 (ranges) | elements view | 迭代器 (iterator)
constexpr decltype(auto) operator[]( difference_type n ) const requires ranges::random_access_range<Base>; |
(C++20 起) | |
返回位於指定相對位置的元素,如同透過 /*get-element*/(this->base() + n),其中對於表示式 e,/*get-element*/(e) 是
- std::get<N>(*e),如果 ranges::range_reference_t<Base> 是引用型別。否則是
- static_cast<E>(std::get<N>(*e)),其中 E 是 std::remove_cv_t<std::tuple_element_t<N, ranges::range_reference_t<Base>>>。
目錄 |
[編輯] 引數
n | - | 相對於當前位置的偏移量 |
[編輯] 返回值
相對於當前位置,在位移 n 處的元素。
[編輯] 示例
執行此程式碼
#include <iostream> #include <ranges> #include <string_view> #include <tuple> int main() { using T = std::tuple<int, char, std::string_view>; const auto il = { T{1, 'A', "α"}, T{2, 'B', "β"}, T{3, 'C', "γ"}, }; std::cout << std::views::elements<0>(il)[1] << ' ' // 2 << std::views::elements<1>(il)[1] << ' ' // B << std::views::elements<2>(il)[1] << '\n'; // β }
輸出
2 B β
[編輯] 參閱
(C++20) |
訪問第 N 個元組元素(公開成員函式) |