I 착각하지 않다, 내가 수 std::transform
수행 장소에서 입출력 반복자 같은 범위를 사용하여. std::vector
객체 가 있다고 가정 vec
하면 쓸 것입니다.
std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op)
적절한 단항 연산 사용 unary_op
.
C ++ 17 표준을 사용하여 std::execution::par
첫 번째 인수로 in 을 붙여서 변환을 병렬로 실행하고 싶습니다 . 이렇게하면의 cppreference 기사에서std::transform
함수가 과부하 (1)에서 (2)로 이동합니다 . 그러나이 과부하에 대한 의견은 다음과 같습니다.
unary_op
[...]는 최종 반복자를 포함하여 반복기를 무효화하거나 관련된 범위의 요소를 수정해서는 안됩니다. (C ++ 11부터)
"요소 수정"은 실제로 알고리즘을 사용할 수 없거나 잘못 해석 한 다른 세부 사항에 대해 말하는 것입니까?