Namespaces
Variants

std::ranges::view_interface<D>:: back

From cppreference.net
Ranges library
Range adaptors
constexpr decltype ( auto ) back ( )
requires ranges:: bidirectional_range < D > && ranges:: common_range < D > ;
(1) (C++20 이후)
constexpr decltype ( auto ) back ( ) const
requires ranges:: bidirectional_range < const D > && ranges:: common_range < const D > ;
(2) (C++20 이후)

back() 멤버 함수의 기본 구현은 파생 타입의 뷰에서 마지막 요소를 반환합니다. 요소가 값으로 반환되는지 참조로 반환되는지는 반복자 타입의 operator * 에 따라 결정됩니다.

1) derived static_cast < D & > ( * this ) 로 설정합니다. return * ranges:: prev ( ranges:: end ( derived ) ) ; 와 동일합니다. empty() true 인 경우(즉, 시작 반복자가 센티넬과 동일한 경우), 동일한 방식으로 얻은 반복자가 역참조 가능하더라도 동작은 정의되지 않습니다.
2) (1) 와 동일하지만, derived static_cast < const D & > ( * this ) 인 경우는 예외입니다.

목차

반환값

뷰의 마지막 요소입니다.

참고 사항

C++20에서, 표준 라이브러리의 std::ranges::view_interface 에서 파생된 어떤 타입도 자체적인 back() 멤버 함수를 제공하지 않습니다.

그러나 다음과 같은 파생 타입들은 기본 구현을 사용할 수 없습니다. 이들은 bidirectional_range common_range 도 결코 만족시키지 않기 때문입니다:

상속된 back() 멤버 함수는 std::ranges::empty_view 에서 사용 가능하지만, 이를 호출하면 항상 정의되지 않은 동작이 발생합니다.

예제

참고 항목

컨테이너나 배열의 시작 부분을 가리키는 역방향 반복자를 반환합니다
(함수 템플릿)
범위의 시작을 가리키는 역방향 반복자를 반환합니다
(커스터마이제이션 포인트 객체)
읽기 전용 범위의 시작을 가리키는 역방향 반복자를 반환합니다
(커스터마이제이션 포인트 객체)