c++
11월 4일 함수와 레퍼런스(정리 중)
송시혁
2013. 11. 4. 13:33
이 코드에서 핵심적으로 말하고자 하는 것은 함수의 인자가 3종류이며, 그에 따른 각각의
특성이다.
#include <iostream> using namespace std; int TestFunc1(int a);//일반 변수형 인자 int TestFunc2(int &a);//레퍼런스(참조)인자 int TestFunc3(int *a);//포인터 인자
int main() { int b=200; int &r_b=b;//b와 같은 주소를 지니게 된다. cout << "b= " << b <<endl; TestFunc1(b);//일반 변수형 인자라서 200, 200, a=100이 출력된다. cout << "b= " << b <<endl;//200출력 TestFunc1(999);//999가 출력되고 100이 출력된다.
cout << "**************************** " << endl; TestFunc2(r_b);//레퍼런스 변수로서 지금 b가 200이므로 200이 출력 그리고 777출력 cout << "b = " << b << endl;//777이 출력된다.
cout << "***************************** " <<endl; TestFunc3(&b);//777, 999가 출력 cout << "b= " << b << endl; 999출력
return 0; }
int TestFunc1(int a)// { cout << "a= " << a <<endl; a=100; cout << "a= " << a << endl; return 0; }
int TestFunc2(int &a) { cout << "a= " << a <<endl; a=777; cout << "a= " << a << endl; return 0; }
int TestFunc3(int *a) { cout << "*a= " << *a <<endl; *a=999; cout << "*a= " << *a << endl; return 0; }
|