이 경우 메모리에 접근하는 방식이 아니라 함수 호출해도 값이 변하지 않음
#include <iostream>
using namespace std;
void swap(int num1, int num2)
{
int temp = num1;
num1 = num2;
num2 = temp;
}
int main()
{
int val1 = 10;
int val2 = 20;
swap(val1, val2);
cout << "val1 : " << val1 << endl;
cout << "val2 : " << val2 << endl;
return 0;
}
#include <iostream>
using namespace std;
void swap(int& ref1, int& ref2)
{
int temp = ref1;
ref1 = ref2;
ref2 = temp;
}
int main()
{
int val1 = 10;
int val2 = 20;
swap(val1, val2);
cout << "val1 : " << val1 << endl;
cout << "val2 : " << val2 << endl;
return 0;
}
#include <iostream>
using namespace std;
void swap(int* ref1, int* ref2)
{
int temp = *ref1;
*ref1 = *ref2;
*ref2 = temp;
}
int main()
{
int val1 = 10;
int val2 = 20;
swap(val1, val2);
cout << "val1 : " << val1 << endl;
cout << "val2 : " << val2 << endl;
return 0;
}