std::ranges::stride_view<V>::begin
cppreference.net에서
constexpr auto begin() requires (!__simple_view<V>);
|
(1) | (C++23부터) |
constexpr auto begin() const requires ranges::range<const V>;
|
(2) | (C++23부터) |
iterator를 stride_view의 첫 번째 요소로 반환합니다.
1)
return iterator<false>(this, ranges::begin(base_));와 동일합니다.2)
return iterator<true>(this, ranges::begin(base_));와 동일합니다.오버로드 (1)는 V이 단순 뷰인 경우 오버로드 해결에 참여하지 않습니다. (즉, V과 const V이 동일한 반복자 및 센티널 유형을 가진 뷰인 경우).
매개변수
(없음)
반환값
Iterator 뷰의 첫 번째 요소에 대한 반복자입니다.
예제
테스트 링크: Compiler Explorer .
이 코드 실행
#include <print> #include <ranges> int main() { constexpr auto v = {'A', 'B', 'C'}; const auto x = v | std::views::stride(2); const auto y = v | std::views::reverse | std::views::stride(2); const auto z = v | std::views::stride(2) | std::views::reverse; std::println("{} {} {}", *x.begin(), *y.begin(), *z.begin()); }
출력:
A C C
참고 항목
|
끝을 가리키는 반복자 또는 센티널을 반환합니다
(public member function) |