다음 문은 어떤 조건에서 합법적입니까?도트 연산자는 오른쪽 피연산자로 표현식을 사용할 수 있습니까? 왜?
s.*p = 5;
그래서,
는 도트 연산자는 오른쪽 피연산자로 표현을 할 수 있습니까? 왜?
다음 문은 어떤 조건에서 합법적입니까?도트 연산자는 오른쪽 피연산자로 표현식을 사용할 수 있습니까? 왜?
s.*p = 5;
그래서,
는 도트 연산자는 오른쪽 피연산자로 표현을 할 수 있습니까? 왜?
p
는 pointer to member 그리고 당신은 .*
연산자를 사용하여 클래스 객체 s
을 통해 뾰족한 멤버에 액세스 할 수 있습니다.
실제로 유용 할 때가 있습니까? 나는 이것을 사용하지 않아도되지만, 나는 결코 올바른 기회를 가지지 못했다고 생각한다. – chris
@chris : 이것은 포인터 변수와 비슷합니다.이 경우에는 포인터가 클래스 멤버 변수와 같습니다. 클래스 멤버에 대한 포인터가 필요하면이 함수를 사용합니다. 일반적으로 콜백 함수로 멤버 함수가 있습니다. . 좋은 읽을 거리 : [회원 기능에 대한 포인터] (http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.1) –
고마워, 즉각적으로 사용할 수 있습니다. 내가 처리하는 유일한 콜백은 클래스없이 작성되었습니다. – chris
표현식이 '.'이 아닙니다. 그것은 '* * : 멤버 * 연산자에 대한 포인터입니다. –