제가 대학교 1학년 때 [명품 C++ Programming] 교재로 진행되는 C++ 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다.
(2022.9 ~ 2022.12)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
참조변수 : 이미 선언된 변수에 대한 별명
참조변수의 선언 → 참조자&를 이용
▶ 데이터형 &원본변수 = 참조변수; 형식으로 선언
▶ 클래스명 &원본변수 = 클래스명; 형식으로 선언
▶ 선언시 반드시 원본변수로 초기화
참조변수는 이름만 생기고 새로운 메모리 공간이 할당되지 않음
→ 초기화로 지정된 기존 변수를 공유
참조변수는 보통변수와 동일하게 사용
참조변수는 포인터가 아니므로 포인터처럼 사용하는 것을 주의
→ 참조 변수에 대한 포인터를 만들 수 있음
& 의 위치는 상관없음데이터형& 원본변수, 데이터형 &원본변수, 데이터형 & 원본변수 셋다 가능함수의 매개변수를 참조 타입으로 선언(참조매개변수)하여, 매개변수가 함수를 호출 하는 쪽의 실인자를 참조하여 실인자와 공간을 공유하도록 하는 인자 전달 방식
참조를 가장 많이 사용하는 사례
참조 매개 변수에 대한 조작은 실인자 변수를 조작하는것과 같은 효과를 가짐
리턴해야 하는 정보가 2개 이상인 경우 참조에 의한 호출이 필요함
참조 매개 변수로 이루어진 모든 연산은 원본 객체에 대한 연산
참조 매개 변수는 이름만 생성되므로 생성자와 소멸자는 아예 실행되지 않음
C 언어에서 함수는 반드시 값만 리턴
▶ 기본타입값 → 정해진 리턴 타입값
▶ 포인터값 → 메모리 주소
C++에서는 C언어에서 지원하는 값 + 참조 리턴 가능
참조 리턴 : 변수 등과 같이 현존하는 공간(메모리)에 대한 참조 리턴
▶ 변수의 값을 리턴하는 것이 아님
데이터타입& 함수이름(); 형식으로 선언
참조 리턴에 대한 치환문
▶ 참조 함수 리턴값에 대해서 또 참조 변수를 지정할수 있음
▶ 참조 함수가 치환문의 오른쪽에 온다면 참조함수의 리턴값이 왼쪽의 값으로 치환됨