std::ranges::view_interface<D>::back
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는 다음과 같습니다:
static_cast<D&>(*this)static_cast<const D&>(*this)
|
|
(C++26까지) |
|
|
(C++26부터) |
반환값
뷰의 마지막 요소입니다.
참고 사항
C++20에서, 표준 라이브러리의
std::ranges::view_interface
에서 파생된 어떤 타입도 자체적인
back()
멤버 함수를 제공하지 않습니다.
그러나 다음과 같은 파생 타입들은 기본 구현을 사용할 수 없습니다. 이들은
bidirectional_range
도
common_range
도 결코 만족시키지 않기 때문입니다:
- std::ranges::basic_istream_view
- std::ranges::lazy_split_view
- std::ranges::split_view
- std::ranges::take_while_view
상속된
back()
멤버 함수는
std::ranges::empty_view
에서 사용 가능하지만, 이를 호출하면 항상 정의되지 않은 동작이 발생합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++14)
|
컨테이너나 배열의 시작 부분을 가리키는 역방향 반복자를 반환합니다
(함수 템플릿) |
|
(C++20)
|
범위의 시작을 가리키는 역방향 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |
|
(C++20)
|
읽기 전용 범위의 시작을 가리키는 역방향 반복자를 반환합니다
(커스터마이제이션 포인트 객체) |