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
마지막 등장 원소가 필요할 때 유용해요.