Minwoo Dev.

[C++] 참조자 본문

C++

[C++] 참조자

itisminu 2024. 3. 10. 17:00
728x90
반응형
SMALL

참조자

참조자는 변수에 다른 이름, 즉 별명을 붙여주는 것이다.

#include <iostream>
using namespace std;

int main(void)
{
    int num = 20;
    cout << "num : " << num << endl;

    int &ref = num;
    cout << "ref : " << ref << endl;

    return 0;
}

 

위 코드를 보면 num이라는 변수에는 20이 담겨있고, 

int &ref = num;을 사용하여 num 변수의 참조자로 ref를 사용하고 있다.

 

즉, ref는 num의 참조자 인것이다.

ref를 출력하면 num을 출력한 것과 같이 20이 출력된다.

 

 

위 코드에서, ref는 num의 별명이 된 것이다.

 

이러한 참조자는 아래와 같은 특징이 있다.

 

 

 

특징 1. 변수만을 참조할 수 있다.

#include <iostream>
using namespace std;

int main(void)
{
    int &ref = 20; // 20이라는 상수 값을 사용하면 안된다!!
    cout << "ref : " << ref << endl;

    return 0;
}

 

 

위처럼 20이라는 값을 참조하려고 한다면, 오류가 발생한다.

참조자는 변수에 별명을 붙이는 것이기 때문에 꼭 변수를 사용해야 한다.

 

 

특징 2. 선언과 동시에 참조를 해야한다.

#include <iostream>
using namespace std;

int main(void)
{
    int num = 20;
    cout << "num : " << num << endl;

    int &ref; // 선언과 동시에 참조해야한다!!
    ref=num;
    cout << "ref : " << ref << endl;

    return 0;
}

 

위 코드에서는 참조자를 int &ref와 ref=num으로 나누어 작성하였다.

이렇게 작성하면 에러가 발생한다.

 

참조자를 선언할 때에는 선언과 동시에 값을 할당하여야 한다.

 

int &ref=NULL;

 

추가로, 참조자를 선언할 때 위처럼 null을 선언해서도 안된다.

 

 

 

[C++] 참조자를 이용하여 함수 만들기, Call by reference with reference

참조자를 이용해서도 포인터를 사용하는 것처럼 Call-by-reference 형식의 함수를 만들 수 있다. Call-by-reference 함수 외부의 값을 받아와 함수 내부에서 값을 변경할 수 있는 형태 C언어에서는 포인터

lmw1119.tistory.com

 

 

728x90
반응형
LIST