Human excelsis; 라고 excelsis라는 객체를 만들었습니다. 그리고 excelsis의 몸무게는 excelsis.weight 가 되겠지요.
근데 이걸 Human* 행인A = excelsis 라고 하면, 행인A의 몸무게는 간접적으로 excelsis.weight를 가리키는데요...
그렇게 간접적으로 가리킨다는 표시가 -> 입니다.
결국 행인A라는 포인터를 통해 excelsis의 몸무게를 사용하려면 행인A->weight 가 됩니다.
2003.11.21 20:26:26 (*.187.227.126)
Excelsis
용도라면 링크드 리스트에서 써먹을수도 있고 함수에서 객체를 받아와서 간접적으로 억세스 할때라든가 여러모로 쓸데가 있겠죠
레임위키에 보면 객체를 .을 쓰지 않고 전부 간접적으로 접근하게 해서 소스 변화에 유연하게 만드는 방법도 있습니다.
2003.11.21 22:09:05 (*.220.37.132)
한경수
고맙습니다.
'어느 정도' 개념은 알겠네요. :-) 그럼 행복하세요. ♡
2003.11.24 18:19:44 (*.77.100.181)
Azyu
->는 클래스나 구조체 포인터의 멤버참조 시에 사용됩니다. (*객체명).(멤버)는 귀찮은 감이 있었는지 간단하게 (객체명)->(멤버)로...
class Human {
int height;
int weight;
}
이런 클래스가 있다고 했을때,
Human excelsis; 라고 excelsis라는 객체를 만들었습니다. 그리고 excelsis의 몸무게는 excelsis.weight 가 되겠지요.
근데 이걸 Human* 행인A = excelsis 라고 하면, 행인A의 몸무게는 간접적으로 excelsis.weight를 가리키는데요...
그렇게 간접적으로 가리킨다는 표시가 -> 입니다.
결국 행인A라는 포인터를 통해 excelsis의 몸무게를 사용하려면 행인A->weight 가 됩니다.