언어/C++

참조자(Reference)

에린_1 2024. 11. 24. 23:24
728x90

참조자(Reference)

  • 이미 선언된 변수의 앞에 & 연산자가 오면 주소 값의 반환을 명령하는 뜻이 되지만, 새로 선언되는 변수의 이름 앞에 등장하면, 이는 참조자의 선언을 뜻하는 게 된다.
  • 참조자는 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름이다.
  • 함수 내에서 선언된 지역적(local) 참조자는 지역변수와 마찬가지로 함수를 빠져나가면 소멸이 된다.
  • 참조자 수에는 제한이 없다. 한 개의 변수에 여러 개의 참조자를 선언하는 것도 가능하다.

참조자의 선언 가능 범위

  • 참조는 변수에 대해서만 선언이 가능하고, 선언됨과 동시에 누군가를 참조해야 한다.
  • 상수를 대상으로 참조자를 선언할 수는 없고, 미리 참조자를 선언했다가, 후에 누군가를 참조하는 것은 불가능하며, 참조의 대상을 바꾸는 것도 불가능하다.

참조자가 상수를 참조하는 법

  • 프로그램상에서 표현되는 숫자를 가리켜 리터럴(literal) 또는 리터럴 상수(literal constant)라 한다. 이들은 암시적으로 존재하는 값이며 다음 행으로 넘어가면 존재하지 않는 상수이다. 그러기 때문에 참조할 수 없다.
      const int &ref = 30;
  • c++에서는 위와 같은 문장이 성립하도록, const 참조자를 이용해서 상수를 참조할 때 임시변수라는 것을 만든다. 임시로 생성한 변수를 상수화하여 이를 참조자가 참조하게끔 하는 구조이니, 결과적으로는 상수화된 변수를 참조하는 형태가 된다.
728x90

'언어 > C++' 카테고리의 다른 글

클래스(Class)  (0) 2024.11.26
구조체(Struct)  (0) 2024.11.24
인라인(inline) 함수  (0) 2024.11.24
Call by Value/Call by Reference  (0) 2024.11.24
추상 클래스/인터페이스  (0) 2024.11.22