C++ 레퍼런스 - transform 함수
modoocode.com
C++ 레퍼런스 - for_each 함수
modoocode.com
-
for_each 의 경우 원소를 수정하지 않습니다. 물론 전달한 함수가 레퍼런스를 받는다면 수정할 수 있겟지만, 바람직한 사용 방식은 아닙니다. 또한 함수의 리턴값 역시 무시됩니다. 참고로 for_each 는 표준에 의해 원소들을 순차적으로 접근함이 보장됩니다.
-
transform 의 경우 원소를 수정하게 됩니다. 함수의 리턴값으로 해당 원소가 바뀝니다. 또한 for_each 와는 다르게, 순차적으로 원소를 접근함이 보장되지 않습니다 (물론 범위 내에 원소를 모두 접근하기는 하지만, 꼭 처음부터 끝까지 순서대로 하는 것은 아닙니다).