Namespaces
Variants

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

cppreference.net에서
 
 
Ranges 라이브러리
Range 어댑터
 
 
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*에 따라 다릅니다.

다음과 동일합니다: return *ranges::prev(ranges::end(derived));, 여기서 derived는 다음과 같습니다:

1) static_cast<D&>(*this)
2) static_cast<const D&>(*this)


empty()이 true인 경우, 동작이 정의되지 않습니다.

(C++26까지)

empty()이 true인 경우:

(C++26부터)

반환값

뷰의 마지막 요소입니다.

참고 사항

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

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

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

예제

참고 항목

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