ranges::replace

ranges::replace (값·조건 교체 — ranges)

범위에서 특정 값 또는 조건을 만족하는 원소를 다른 값으로 교체하는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

std::ranges::replace는 범위에서 value와 같은 원소(또는 pred를 만족하는 원소)를 new_value로 교체해요.

namespace std::ranges {
template< std::input_iterator I, std::sentinel_for<I> S,
          class T1, class T2, class Proj = std::identity >
requires std::indirectly_writable<I, const T2&>
constexpr I replace( I first, S last, const T1& old_value,
                     const T2& new_value, Proj proj = {} );
}
  • 반환 값: 범위 끝.
  • replace_if는 술어 기반 버전.
std::vector<int> v{1, 2, 3, 2, 4};
std::ranges::replace(v, 2, 9);
// v == {1,9,3,9,4}

특정 값을 다른 값으로 바꿔치기할 때 쓰는 ranges 버전이에요.

더 알아보기 (Learn more)

cppreference