Programming 기초/C++
[c++] 참조자형식 "&"
코딩상륙작전
2024. 7. 19. 10:47
* "&"는 참조자 형식(reference )이다.
형식 &이름 = 원본;의 형태로 쓴다.
- 선언과 동시에 반드시 초기화해줘야 한다.
#include<iostream>
using namespace std;
void TestFunc(int &rParam)
{
rParam=100;
}
int main(int argc, char **argv)
{
int nData = 10;
int &ref = nData;
ref = 20;
cout << nData <<endl; // 20
TestFunc(nData);
cout << nData << endl; // 100
return 0;
}
주소를 알려주는 역할이라고 보면 될 듯 하다. 함수에서 주소로 받고자 할 때 많이 사용되고, 아래와 같이 for 문에서도 활용된다.
#include<iostream>
using namespace std;
int main(int argc, char **argv)
{
int aList[5] = {10, 20, 30, 40, 50};
for(auto n : aList)
n = 100; // 로컬 변수이기 때문에 배열의 요소는 안 바뀐다.
for(auto n : aList)
cout << n << ' '; // 10, 20, 30, 40, 50
for(auto &n : aList)
n = 100; // 주소를 참조하기 때문에 배열의 요소는 바뀐다.
for(auto n : aList)
cout << n << ' '; // 100, 100, 100, 100, 100
}