본문 바로가기
Development/Java

call by reference vs call by pointer.

by Sonagiya 2014. 2. 12.
반응형

c 에 개념에서 함수 파라미너 선언은 

call by reference / value 를 사용하고,


c++ 로 넘어 오면서 call by pointer 가 추가되어 

call by pointer / reference / value 를 사용합니다.

하지만 c에서 사용하던 call by reference 개념이 c++의 call by pointer 개념과 같으며 reference 개념이 조금 달라졌습니다.


pointer를 주소에 의한 전달이라고하면,

reference 경우 참조에 의한 전달이라고 합니다.


pointer / reference 차이가 있다면, 

(pointer는 알고 계시리라 믿고~)

reference 경우 함수 내부에서 일반 변수와 같이 포인터 연산자(*, &) 없이 사용하며, 포인터 연산(ptr++)을 할 수 없다는 점이 있습니다.


ex>

void swap(int &x, int &y)

{

   int temp;

   temp = x;  /* save the value at address x */

   x = y;        /* put y into x */

   y = temp;  /* put x into y */

  

   return;

}




기본적으로 포인터 강의는 c로 하기 때문에 많이 못들었던 것 같습니다. 


저도 이 기회에 알고 넘엉가네요~


글로써 설명하기에 너무 부족하네요 아래 참조 추가드립니다.

programming 에 있어서 가장 중요한 개념이라고 생각됩니다.

모두가 숙지하고 넘어가셨으면 하는 바램입니다.


포인터 개념

http://www.cplusplus.com/doc/tutorial/pointers/


c 함수 호출 타입

http://www.tutorialspoint.com/cprogramming/c_functions.htm


c++ 함수 호출 타입

http://www.tutorialspoint.com/cplusplus/cpp_functions.htm

반응형

댓글