728x90
함수에 의해 전달된 인수는 해당 함수에 복사된 값으로 처리된다.
따라서 함수 내에서 인수를 설정하거나 바꾸어도 호출된 매개변수에는 영향을 끼치지 않는다.
void modifyValue(int x) {
x = x * 2;
}
int main() {
int num = 5;
modifyValue(num);
// num은 여전히 5입니다.
return 0;
}
위와같이 처리된다면, x의 값에는 변화가 이루어지지 않는다.
장점
- 예측가능한 변수 (Predictable Behavior)
- 함수에서 인수를 수정하더라도 호출자에 영향을 미치지 않기에 예측이 가능.
- 데이터 보호
- 호출자의 데이터를 보호하여 실수로 값이 변경되는걸 방지함.
단점
- 메모리 사용
- 크기가 큰 데이터 구조를 전달할 경우, 메모리 사용량이 증가할 수 있다.
- 성능 저하
- 메모리 사용과 마찬가지로. 복사대입이기 때문에, 복사하는 과정에서 성능저하를 초래할 수 있다.
728x90
'컴퓨터 용어 정리' 카테고리의 다른 글
HeightMap (0) | 2023.10.19 |
---|---|
참조에 의한 호출 ( Call by Reference ) (0) | 2023.10.12 |
DirectX 3D 행렬연산 (0) | 2023.10.12 |
단위행렬(Identity matrix) (0) | 2023.10.12 |
가상함수 ( Virtual Function ) (0) | 2023.10.10 |