프로그래밍 공부
작성일
2023. 10. 12. 15:59
작성자
WDmil
728x90

함수에 전달된 인수는 원본 데이터에 대한 참조(레퍼런스) 로 처리된다.

 

따라서 함수 내에서 인수를 수정하면 호출자에게도 영향을 미치게 된다.

void modifyReference(int &x) {
    x = x * 2;
}

int main() {
    int num = 5;
    modifyReference(num);
    // num은 이제 10입니다.
    return 0;
}

매개변수로 받아온 값을 수정하면 결과값 또한 바뀌는걸 볼 수 있다.


장점

  • 메모리 효율
    • 데이터를 복사하지 않고도 데이터 수정이 가능함으로 메모리 사용량을 절약할 수 있다.
  • 성능 향상
    • 데이터를 복사하지 않음으로 복사하는 과정을 생략할 수 있다.

단점

  • 수정가능
    • 함수 내에서 수정을 할때 호출자의 데이터가 수정될 수 있음으로 의도치 않은 데이터변경이 발생할 수 있다.

 

728x90

'컴퓨터 용어 정리' 카테고리의 다른 글

DirectX SamplerState  (0) 2023.10.19
HeightMap  (0) 2023.10.19
값에 의한 호출 ( Call by Value )  (0) 2023.10.12
DirectX 3D 행렬연산  (0) 2023.10.12
단위행렬(Identity matrix)  (0) 2023.10.12