| [ CnUnix ] in KIDS 글 쓴 이(By): FeelGood ( 해피데이) 날 짜 (Date): 1996년08월08일(목) 10시57분28초 KDT 제 목(Title): [Re] Bjarne Stroustrup의 C++책에서.. 코드 중에서 함수 h(link*&)가 하는 일은 인자로 받은 링크를 기존의 linked list의 제일 처음 노드로 붙이고 first가 그 노드를 가리키도록 한 다음에 link* q를 0으로 초기화 하는 겁니다. 이 때 만일 h(link* p)로 선언되었다면 어떻게 될까요? 먼저 h(q) 호출의 결과로 link*인 q값이 그대로 p에 복사를 하는 거죠. 다시 말해서 q와 p가 같은 link 노드를 가리키게 되겠죠. 그 결과로 복사에 따른 overhead가 있고 h(link* p)의 구현 중 p=0이라는 것도 실제 q에는 아무런 영향을 미치지 않으니까 h(q)의 수행 후에도 q는 여전히 link 노드(h(q)의 결과로 첫번째 노드가 됨)를 가리키게 되겠죠. 결론적으로 reference(&)라는 것은 일종의 alias라고 생각하시면 됩니다. ************************************************************************ Have U ever Tried to || e-mail: yjsong@papaya.snu.ac.kr Feel Good & Happy Days? || pager: 012-813-6568, phone: 02-880-1830 Just Do It ! || http://wwwoopsla.snu.ac.kr/researchers/yjsong ************************************************************************ |