C++에서 올바른 포인터에 대한 포인터입니까? 나는이 질문을 가로 질러왔다 : Pointer to Pointer to Pointer포인터 멤버가있는 객체에 대한 포인터
그러나 그것이 합법적인지 아닌지에 대한 대답은 명확하지 않다. 의 내가 있다고 가정 해 봅시다 :
class A{
public:
void foo(){
/* ect */
}
};
class B{
public:
A* a;
/* ect */
};
void Some_Func() {
B *b;
// besides this looking ugly, is it legal c++?
b->a->foo();
};
이 라인 b->a->foo()
가 작성 OK인가? 이 표현을 표현하는 더 좋은 방법이 있습니까?
'foo'와'a'가 각각의 클래스에서 비공개라는 점을 제외하고는 (public으로 만들어야합니다.) 왜 괜찮지 않을까요? 사실 특히 추한 것은 아닙니다. – jogojapan
왜 그렇지 않습니까? 포인터는 다른 유형과 마찬가지로 유형입니다. – chris
그들은 완벽하게 괜찮지 만 B 클래스의 개인 회원 인 것처럼 'b'(b-> a)에서 'a'에 직접 액세스 할 수 없습니다. 그렇지 않으면 작동합니다. – Skandh