lang/C++

[c++] About reference variables

SHplusR 2024. 8. 29. 17:43

나는 회사에 들어와 c++을 하기전에 쭈욱 java만 했다. 그래서 그런지 c++을 공부하면서 이걸 왜 쓰지?? 라는 생각이 드는 순간이 많은데, 그 중 대표가 바로 래퍼런스 변수 (reference variable)이다. 

 


인터넷에 찾아보니 아래와 같은 글이 있다. 

https://stackoverflow.com/questions/12728794/why-should-i-use-reference-variables-at-all

 

Why should I use reference variables at all?

As my first programming language I learned Java, but since I changed to a different University, I am now learning C++. Coming from Java and learning the basics of C++, I read about references and

stackoverflow.com

 

큰 이유만 정리하자면 

1. pointer를 사용하다가 실수하는 상황을 방지하기 위해 (이게 제일 큰것같다.)

2. 내부객체에 대한 수정이 쉽기 때문에

 

 

#include <iostream>

using namespace std;

void ref(int &_a, int &_b)
{
    _a += 5;
    _b -= 10;
}
int main()
{

    int a = 5;
    int b = 10;
    cout << "before a = " << a << endl;
    cout << "before b = " << b << endl;

    ref(a, b);
    cout << "after a = " << a << endl;
    cout << "after b = " << b << endl;
    return 0;
}

 

결과값은 아래와 같이 나온다.

 

before a = 5
before b = 10
after a = 10
after b = 0

 

 

결국 reference variable은 pointer와 같은 기능을 가지지만, 이보단 개념이 간단하여 쉽게 사용 가능하다.