p->m
이 (*p).m
에 대한 구문 설탕 일 뿐이라고 생각하지 않습니까? 다음과 같이 기본적으로 내가 쓴 모든 operator->
이 구현 될 수 있었다 :왜 연산자 -> 수동으로 과부하 될 수 있습니까?
Foo::Foo* operator->()
{
return &**this;
}
내가 p->m
이 (*p).m
것보다 다른 것을 의미 할 것입니다 어떤 경우가 있습니까? > ... 운용자를 오버로드 할 필요가 없습니다
이 재귀가있는 클래스에 대해'x-> y'는'(x.operator ->()) -> y'로 해석된다는 것은 당연한 것처럼 보입니다. 어쩌면 그들은 재귀를 허용하기 위해 해를 끼치 지 않을 것이라고 생각했기 때문에 그것을 금지하지 않았을 까? 적어도 나는 ARM에서 그것에 대한 설명을 찾을 수 없었다. –