본문 바로가기
C++

문제 02-1 [참조자 기반의 Call-by-reference 구현]

by KWONE 2024. 8. 1.

문제 1

#include <iostream>
using namespace std;
int plusfunc(int &num1)
{
	num1++;
	return num1;
}

int changefunc(int &num2)
{
	num2 = (-1) * num2;
	return num2;
}

int main()
{
	int val1 = 10;
	int val2 = 20;

	plusfunc(val1);
	changefunc(val2);

	cout << val1 << endl;
	cout << val2 << endl;
}

문제 2

참조자는 상수를 참조 못한다.

문제 3

#include <iostream>
using namespace std;
void SwapPointer(int *(&pref1), int* (&pref2))
{
	int *ptr=pref1;
	pref1 = pref2;
	pref2 = ptr;
}
int main()
{
	int num1 = 5;
	int* ptr1 = &num1;
	int num2 = 10;
	int* ptr2 = &num2;
	
	cout << *ptr1 << " " << *ptr2 << endl;
	
	SwapPointer(ptr1, ptr2);

	cout << *ptr1 <<" "<< *ptr2 << endl;
}