참조자와 pass by value

ChaeMin Lyu·2023년 10월 10일
0

C++에서 함수에 인자를 전달할 때, 기본적으로는 "값에 의한 전달(pass by value)" 방식이 사용됨
이것은 함수에 전달된 인자는 함수 내에서 "복사본" 을 만들어 작업하게 되며, "함수 호출 후에는 원본 변수에는 영향을 주지 않는다"

void combine(string a,string b,string c){
c = a +' '+ b;
}
여기서 string a, string b, string c는 모두 문자열을 복사본으로 받는 매개변수
함수 내에서 a와 b를 결합하여 c에 할당하더라도, c는 함수 외부의 text3 변수와는 별개의 복사본이므로 text3에는 아무런 변경이 발생하지 않는다.

void combine(string a, string b, string& c){
c = a + ' ' + b;
}
string& c는 참조자(reference)를 사용하여 c 변수를 함수 외부의 변수와 공유하게 됨
따라서 함수 내에서 c를 수정하면 함수 외부의 text3 변수도 같이 변경할 수 있음

profile
유부초밥을 좋아하는 채민류

0개의 댓글