ranges::find_last

ranges::find_last (범위에서 마지막 원소 찾기)

범위에서 특정 값 또는 조건을 만족하는 마지막 원소를 찾는 ranges 버전 알고리즘이에요. <algorithm> 헤더, C++23부터.

출처: cppreference

본문

std::ranges::find_last는 범위에서 value와 같은 마지막 원소를, find_last_if는 술어가 참인 마지막 원소를 찾아요.

namespace std::ranges {
template< std::forward_iterator I, std::sentinel_for<I> S,
          class T, class Proj = std::identity >
constexpr subrange<I> find_last( I first, S last, const T& value, Proj proj = {} );
}
  • 반환 타입은 subrange<I>로, 마지막 일치 원소를 가리키는 구간을 나타내요. 없으면 빈 구간이에요.
  • ranges::find가 첫 번째라면, ranges::find_last는 마지막을 찾아요.
std::vector<int> v{1, 2, 3, 2, 4};
auto r = std::ranges::find_last(v, 2);   // 마지막 2

마지막 등장 원소가 필요할 때 유용해요.

더 알아보기 (Learn more)

cppreference