1. value
void f(int n){
n = n + 10;
}
int main(){
int x = 3;
f(x);
cout << x << endl;
}
Output:3
파라미터 x는 함수 f()가 실행되면 컴파일러는 메모리에 x의 복사본을 만들기 때문에, 메모리 낭비❗️
2. reference
void f(int& n){
n = n + 10;
}
int main(){
int x = 3;
f(x);
cout << x << endl;
}
Output:13
value 파라미터의 단점 제거해주고, 값 자체의 수정이 가능하다❗️
3. const reference
void f(const int& n){
n = n + 10; // Error: assignment of read-only reference ‘n’
}
int main(){
int x = 3;
f(x);
cout << x << endl;
}
Output:error
reference 파라미터의 장점을 갖고, 프로그래머가 값을 수정하고 싶지 않을 때 사용한다❗️
stackoverflow.com/questions/2627166/difference-between-const-reference-and-normal-parameter
반응형
'Programming Language > C++' 카테고리의 다른 글
[C++] 문자열 정리 (0) | 2022.03.22 |
---|