질문을 하기 위한 것인지, 아니면 저자가 오픈소스 프로젝트의 코드에서 이런 작성 방법을 사용하는 것을 본 적이 있는지 궁금합니다. 질문을 하거나 필기 테스트를 위한 것이라면 그런 것은 고려하지 않는 것이 좋습니다. 학교 또는 회사. 이 질문은 의미가 없기 때문에 Swift3는 ++ 연산자도 제거하며 혼란스럽거나 오류가 발생하기 쉬운 구문 기능에 시간을 낭비할 가치가 없습니다.
사후 증분: n++과 같은 표현식은 n의 원래 값의 복사본을 반환한 다음 n++의 원래 값을 반환합니다 n = n++. =는 먼저 n을 증가시키고 n의 원래 값의 복사본을 반환합니다. 그런 다음 할당 작업을 수행하여 n의 원래 값을 n에 할당하므로 n의 값은 변경되지 않습니다.
질문을 하기 위한 것인지, 아니면 저자가 오픈소스 프로젝트의 코드에서 이런 작성 방법을 사용하는 것을 본 적이 있는지 궁금합니다. 질문을 하거나 필기 테스트를 위한 것이라면 그런 것은 고려하지 않는 것이 좋습니다. 학교 또는 회사. 이 질문은 의미가 없기 때문에 Swift3는 ++ 연산자도 제거하며 혼란스럽거나 오류가 발생하기 쉬운 구문 기능에 시간을 낭비할 가치가 없습니다.
두 가지 요점:
a = a++가 먼저 할당된 다음 증가됩니다
할당 표현식에는 반환 값이 있으며, 이를 표현식의 값이라고 합니다
"z=z++" 표현식의 값을 z에 할당하는 것과 동일하며 "z=z++"의 값은 "z++"와 같습니다. "z++"는 먼저 z의 현재 값을 사용한 다음
증가합니다.사후 증분:
n++과 같은 표현식은 n의 원래 값의 복사본을 반환한 다음 n++의 원래 값을 반환합니다
n = n++. =는 먼저 n을 증가시키고 n의 원래 값의 복사본을 반환합니다.
그런 다음 할당 작업을 수행하여 n의 원래 값을 n에 할당하므로 n의 값은 변경되지 않습니다.
z++
是个表达式,表达式的结果还是z
,所以z=z++
相当于z=z
啥也没做,你要了解下
z++
의 논리는 변수의 값을 먼저 반환한 다음 이를 증가시키는 것입니다.또는
++z
을 사용할 수도 있습니다. 사전 증가는 자신을 먼저 증가시킨 다음 자동 증가 후에 결과를 반환하는 것입니다는
와 동일합니다. 으아악++ 및 = 연산 순서에 문제가 있으므로 연산 및 할당의 우선순위를 살펴보는 것이 좋습니다