본문 바로가기
Algorithm/자료구조 개념 정리

교환(Swap) / 매개변수: 값 복사, 포인터, 참조 비교

by imagineer_jinny 2023. 8. 28.
int SwapValue(int a, int b) // 값 복사
{
    int temp = a;
    a = b;
    b = temp;

    return ? // 문제: 반환을 해 줄 수 없음
}

void SwapPtr(int* a, int* b) //포인터
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

void SwapRef(int& a, int& b) //참조
{
    int temp = a;
    a = b;
    b = temp;
}
int main() {

    int a = 2;
    int b = 3;

    cout << a << " " << b << endl;
   
    //Swap 함수
  
    SwapPtr(&a, &b);

    SwapRef(a, b);

    cout << a << " " << b << endl;
    return 0;

}

 

std swap 함수

std::swap(a,b);

댓글