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
}