본문 바로가기

B1:기초 Basement

부작용 (side effect)

반응형

실 매개변수나 비지역변수의 값이 바뀌어, 의도하지 않았던 결과를 얻게 되는 현상.

예 >  a + f(a)
어느 항을 먼저 계산하느냐에 따라서, 부작용 허용여부에 따라서 결과가 달라짐


- 부작용을 금지시킬 경우
매개변수를 통한 결과반환이 불가능해지기 때문에, 프로그래밍의 편의성이 훼손됨

- 피연산자의 순서를 엄격히 규정할 경우
컴파일러가 최적화 코드를 만들기 위해 순서 조정을 할 수 없게 됨

C,C++ : 계산순서 명시하지 않음
Java : 왼쪽에서 오른쪽으로 계산하도록 명시함

반응형

'B1:기초 Basement' 카테고리의 다른 글

RAID (redundant array of inexpensive disks)  (0) 2006.12.09
현수 참조(dangling reference)  (0) 2006.12.09
중지계산 (short-circuit evaluation)  (0) 2006.12.09
매개변수 전달방식  (0) 2006.12.09
논리 언어 (logic language)  (0) 2006.12.09