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와 같은 기능을 가지지만, 이보단 개념이 간단하여 쉽게 사용 가능하다.