// Online C++ compiler to run C++ program online
#include <iostream>
using namespace std;
template <typename T>
void pointerSwitch(T* a, T* b){
// a의 주소 b의 주소를 받음음
T tmp = *a; // 입력 받은 인수가 주소이기 때문에 값으로 변환
*a = *b;
*b = tmp;
}
template <typename T>
void referenceSwitch(T& a, T& b) {
T tmp = a;
a = b;
b = tmp;
}
int main() {
int a = 10;
int b = 20;
cout << *&a;
cout << "a는" << a << "\n";
cout << "b는" << b << "\n";
cout << "pointer switch \n" ;
pointerSwitch(&a, &b);
cout << "a는" << a << "\n";
cout << "b는" << b << "\n";
cout << "reference switch \n" ;
referenceSwitch(a, b);
cout << "a는" << a << "\n";
cout << "b는" << b << "\n";
return 0;
}
10a는10
b는20
pointer switch
a는20
b는10
reference switch
a는10
b는20
'기타 > 기타의 기타' 카테고리의 다른 글
Spring Integration 컴포넌트 간단정리 (0) | 2024.03.25 |
---|---|
자격증 정리 (0) | 2023.12.28 |
JVM Runtime Data Area (1) | 2023.12.23 |