YS's develop story
C++ ) Const reference parameter , Value parameter 의 비교 본문
C++ ) Const reference parameter , Value parameter 의 비교
오늘은 Const reference parameter와 Value parameter을 비교해보고
각각 어느 상황에 쓰이는지 정리해 보았습니다.
참고로 Parameter은 매개변수라는 의미입니다 !
우선 아래의 Value parameter을 살펴보죠 !
여기 multiply라는 함수가 있습니다. 이 함수의 parameter는 Value parameter입니다.
원래의 값을 복사해서 함수에서 호출을 하는 것이죠.
int multiply(int valueParameter) {
return valueParameter*valueParameter;
}
다음은 아래의 Const reference parameter을 살펴봅시다.
이번에는 multiply2라는 함수가 있습니다. 이 함수의 parameter는 Const reference parameter 입니다.
이는 원래의 값을 복사해서 함수에서 호출하는 것이 아니라
메모리 주소값을 그대로 함수에 넘기게 됩니다.
int multiply2(const int &valueParameter) {
return valueParameter*valueParameter;
}
참고로 두함수의 실행값은 모두 같습니다.
하지만 차이점은 명확하죠.!
그럼 언제 어떠한 parameter을 사용해야 할까요?
바로 실제값의 크기를 기준으로 parameter을 사용합니다.
예를 들어 Value parameter을 사용하고자 했을 때 값을 복사해서 함수에 호출해야하는데
복사해야하는 값의 크기가 매우 크다면 이는 효율성 측면에서 비효율적입니다.
그래서 그런 경우에 Const reference parameter을 사용해 메모리값을 그대로 함수에 넘기는 것입니다.
Const reference parameter와 Value parameter의 차이점을 아시겠나요?
'기타' 카테고리의 다른 글
C++ ) assert매크로사용하기 (0) | 2020.10.01 |
---|---|
C++ Error ) 기본 인수 재정의, 함수의 디폴트 값은 함수의 선언에 작성해야 한다. (0) | 2020.09.26 |
C언어 ) char [], char * 의 차이점 (0) | 2020.09.22 |
C++) 헤더파일 <algorithm>를 추가하고 사용할 수 있는 copy 함수 (0) | 2020.09.16 |
Error ) "int" 에서 "Point" 으로 변환하기 위한 적절한 생성자가 없습니다. (0) | 2020.09.14 |
Comments