본문 바로가기

카테고리 없음

[C++] 참조

참조

const 참조

  • 참조 변수가 참조하는 대상의 값을 바꿀 수 없다.
int x { 10 };
const int& xRef = x;
cout << xRef << endl; //x 값 읽어 호출함
xRef += 10; // 오류 : const 참조로 값을 수정할 수 없다.

 

l-value 참조 : 실체가 있는 대상에 대한 참조

r-value 참조 : 사용한 후에는 그 값을 더 이상 가지고 있을 필요가 없는 값을 참조

  • 객체의 값을 다른 객체로 이동

참조가 포인터와 다른 점?

  • 참조 변수를 이용하여 값을 읽거나 저장할 때 참조 대상 변수를 사용하는 형식과 동일하다.
  • 참조 변수는 초기화를 통해 반드시 어떤 대상을 참조해야 한다.
    • 초기화되지 않은 상태로인해 무엇을 참조하고 있는지 알수 없는 상황은 발생하지 않음
  • 참조 변수는 초기화를 통해 지정된 참조 대상을 바꿀 수 없어 참조의 유효기간 동안 하나의 대상만 참조할 수 있다.

 

 

반응형