C++(레퍼런스 사용법)

DongGeon Gwak·2025년 6월 9일

C++

목록 보기
11/17

다른 함수에서 계산을 한 뒤 메인 함수에 있는 값(주소)를 찍어서 값을 변경할 수 있게 해주는 역할을 포인터나 레퍼런스로 할 수 있다.
아래의 그림은 그 중 레퍼런스를 활용한 방법이다.

그리고 예시 코드 이다.

#include <iostream>

using namespace std;
// 함수에 변수에 포인터를 사용한 경우
void swapPtr(int* x, int* y)
{
    int temp = *x;
    *x = *y;
    *y = temp;
}
// 함수에 변수에 레퍼런스를 사용한 경우
void swapRef(int& x, int& y)
{
    int temp = x;
    x = y;
    y = temp;
}
// 함수에 변수만 있는 경우
void swap(int x, int y)
{
    int temp = x;
    x = y;
    y = temp;
}

int main()
{
    int a = 1;
    int b = 2;
    
    swapRef(a, b);
    cout << "레퍼런스 쓴 경우: " << a << " " << b << endl;
    
    swapPtr(&a, &b);
    cout << "포인터를 쓴 경우: " << a << " " << b << endl;

    swap(a, b);
    cout << "변수만 쓴 경우: " << a << " " << b << endl;

    return 0;
}
profile
아싸라비야

0개의 댓글