카테고리 없음

레퍼런스에 관하여!!

달려가보자 2011. 10. 5. 01:08
래퍼런스란?

 레퍼런스를 알기 전에 변수를 만든다는것은 무엇을 뜻하는걸까요?

생각해보셨어요?

저 이렇게 생각합니다. 대상체 형에 따라 메모리가 할당되는데 그 공간을 변수이름이라고 정의한다고 생각합니다.

제가 말 재주가 없어서 

 int a 라고 선언하면 





이렇게 4바이트가 메모리 할당 됩니다 이 공간 전체를 a 라고 정하자 라는거죠

그럼 이제 부터 레퍼런스에 대해 들어가겠습니다.

-> 래퍼런스란 변수가 선언 된 공간을 다시 또 다른 이름으로 선언 하겠다는것입니다.

즉 제 2의 이름을 가진다는거죠

int &p = a;   라고 하면

a라는 변수 공간을 p라고 또 다른 이름을 정의하는겁니다.

그럼 이러면 머가 좋을까요?

기능은 포인터랑 같지만 포인터는 연산이 가능하지만 레퍼런스는 연산이 가능하지 않는다

다른 주소 접근이 안되기 때문에 주소접근면에서는 안전 하다고 생각듭니다.

그럼 레퍼런스로 선언되었을때 call- by - Referece 일까요 value 일까요?

스스로 생각해보세요 ㅎㅎㅎ