본문 바로가기
[ Program ]/CC++MFCAPI

C++ 에서 -> 의 의미

by 관이119 2012. 9. 14.

답변1.

생성된 클래스의 값을 불러드린다고 치고
혹 class Student{ public: int a=5; } 가 있지요.
Student A, *B;
가 있다고 하면
B가 포인터지요? 그럼 B는 메모리안에 address만 가지고 있습니다.
public 에 있는 값을 불러올때
A.a 를 그냥 부르면 되지만
B가 포인터기에 B->a 를 해야지만 값을 가지고 올수 있습니다.
혹 B.a 라고 사용하게되면 에러가 뜨지요.
혹 B = new Student ... 라고 B에게 용량을 준다면
B.a 가 사용가능, B->a 는 못쓰죠. 이제 B에 address값이 없어지고
클래스에 필요한 용량이 address값이 있던곳에서 쭈욱 하고 늘어나
클래스에 필요한 공간이 생겼다고 생각하시면 됩니다.
어설푼 답이였습니다.. ㅈㅅ;;

답변2.

포인터 변수의 값을 참조하기 위한 연산자 입니다.
예)
struct A
{
char a[3];
int b;
};
라는 구조체를
struct A *A
와 같이 포인터 배열로 선언하면 인터에 주소가 할당된 경우
A->a
A->b
와 같은 방법으로 값을 가져올 있습니다.

결론

포인터로 선언한 오브젝트의 내부의 변수를 가리킬때 -> 를 씀.

 

댓글