1) 공통점
: 외부 인자로 들어오는 원본에 영향을 주지 않음.
call by value 는 복사로 인해서 원본 영향 주지 않음.
const ref 는 const 키워드로 인해 원본 변경 차단하고, 원본을 그대로 받음.
2) 차이점.
- call by value의 경우에는, 원본에 대한 복사가 발생함.
- const ref로 인자 사용시에는, 복사가 발생하지 않음.
: struct 구조체를 , 위의 내용대로 value, const ref 인자로
보내서 , 주소값을 출력 , 그리고 외부의 데이터가 변동되는지까지 확인하라.
call by value
: 아직 배우지는 않았지만, 복사되는지 확인을 위해, 복사생성자도 만듦.
-> func 호출을 통해, 복사생성자가 호출됨을 확인함. /
데이터도 변경했지만, 전과 후의 값이 변경되지 않음도 확인함.
--> 즉 복사가 발생함.
const ref 사용.
-> 이때는 const 키워드에 의해, 인자의 값을 변경할 수 없음.
-> 메모리값이 동일함을 확인할 수 있음.