3
몇 줄의 코드 here을 읽었습니다. 거기에 괄호가 있어야하는 것처럼 보입니다.`copy` 구현 예에서의 연산자 우선 순위
template<class InputIterator, class OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result)
{
while (first!=last)
*result++ = *first++; // <--- this line
return result;
}
는 연산자 우선 순위 테이블 here에 따르면, 나는 후위 증가가 다음 역 참조, 다음 할당을 우선 것이라고 생각합니다. 그러나 그것은 내게는 역 참조가 먼저 발생하고 그 다음에 할당이 일어난 다음에 후위 증가가 일어나는 것처럼 보입니다.
내가 잘못 읽고 있습니까? 또는 테이블이 잘못 되었습니까? 아니면 코드 스 니펫입니까? 아니면 그것에 뭔가가 있습니까?
이것은'* (result ++) = * (first ++);로 쉽게 확인하실 수 있습니다. –
Ahhh. 고맙습니다. – sje397
예. 우선 순위와 평가 결과를 혼동하지 마십시오. –