2014-11-14 2 views
2

사람은 다음과 같습니다 구조체 날에 필드를 설명 할 수 있다면 안녕 궁금 :구조체의 홀수 필드? C++

struct example { 
void (SomeClass::*someMethod)(); 
}; 

정확히이 무엇 당신이 그것을 왜 방법을 사용 /? 감사.

+0

http://stackoverflow.com/questions/8865766/get-a-pointer-to-object-member-function –

+0

사람들이 typedef를 사용하지 않을 때 발생합니다. – o11c

답변

5

이 구조체에는 매개 변수가없는 void 반환 형식의 함수에 대한 포인터가 들어 있습니다.

우리는이 포인터를 실제 함수의 주소로 설정하고 나중에 포인터를 통해 함수를 실행할 것입니다. 함수 포인터는 상황에 따라 일부 작업을 처리하기 위해 여러 기능을 제공하는 매우 편리한 기능입니다.

+0

함수에 대한 포인터가 구조체에있는 이유는 무엇입니까? 구조체에서이 포인터를 캡슐화 할 때 요점은 무엇입니까? 포인터를 캡슐화하는 구조체가 없으면 동일하지 않습니까? – Varaquilex

+0

일반 함수가 아닌 메소드/멤버 함수에 대한 포인터처럼 보입니다. – Scooter

+0

나는 이것에 대해 upvoted있어 궁금해 ... – ravi

1
void (SomeClass::*someMethod)(); 

무효를 받고 반환하는 "SomeClass"클래스의 멤버 함수에 대한 포인터 선언입니다.