참조자

특정 변수이름 대신 사용할 수 있는 별명

 

 

기본사용

별명처럼 변수를 사용할 수 있기 때문에

변수와 레퍼런스값 모두 같은 값을 출력한다.

 

 

주소값 공유

두 값 모두 같은 주소를 가리키고 있기 때문에

하나를 변경할 경우 둘 다 영향을 받는다.

 

 

초기값 지정

일반적으로 레퍼런스는 저장된 주소를 복사한다.

저장된 주소가 없을 경우 사용이 불가능하다.

 

 

nullptr 불가

nullptr, NULL로 초기화하는 방식도 불가능하다.

 

 

상수 레퍼런스

const 키워드가 없을 경우에는 리터럴 상수로 선언 불가능하다.

 

const 키워드를 통해 리터럴 상수를 사용 할 수 있다.

 

 

레퍼런스를 이용한 치환

참조자를 이용해 값을 서로 교환해 줄 수 있다.

 

 

레퍼런스 반환의 위험성

참조자로 반환값을 받을 경우에 조심해야한다.

위 상황은 스택에서 제거된 주소를 계속 가리키고 있다.

 

 

이동생성자

어떠한 객체를 옮겨야 할 때 복사해서 지울 경우에는 임시객체를 생성한다

객체가 커질수록 많은 부하를 가져오게 돼서 주의해야 한다.

'C++' 카테고리의 다른 글

[C++] friend  (0) 2023.05.18
[C++] constexpr  (0) 2023.05.16
[C++] const  (0) 2023.05.13
[C++] 복사대입연산자  (0) 2023.05.12
[C++] 복사생성자  (0) 2023.05.11

+ Recent posts