2013-05-09 1 views
-3
using namespace boost; 

typedef void (*PtrFunc)(any&); 

위의 코드 샘플을 이해하는 방법 C++의 typedef에 대한 샘플?C++에서 typedef에 대한 샘플 코드 샘플을 이해하는 방법은 무엇입니까?

void myFunc(any&) 
{ 
    .... 
} 

PtrFunc pointerToMyFunc = myFunc; 
+0

함수 포인터를 정의하고 있습니다. – Nick

+0

'PtrFunc'라는 타입을 정의하고 있습니다 :'any'에 대한 참조를 인자로 받아들이고'void'를 반환하는 함수를 가리키는 포인터. – deepmax

+1

기능에 대한 포인터가 어떻게 형성되는지를 설명하는 [좋은 책] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)을 읽음으로써. 특히'PtrFunc'는 'any'를 취하고'void '를 반환하는 함수에 대한 포인터입니다. – Angew

답변

1

이 코드는 boost::any&

당신은 그것을 좋아 사용할 수있는 유형의 단일 매개 변수를받는 함수 유형이 PtrFunc라는 형식 정의를 선언한다 void이고 유일한 인수로 boost:any&을 수락합니다.

이처럼 사용할 수 있습니다 :

void someFunction(any& arg) 
{ 
    // ... 
} 

int main() { 
    PtrFunc fn = someFunction; 
    // ... 
    fn(...); 

    // You can also do this without a typedef 
    void (*other_fn)(any&) = someFunction; 
    other_fn(...); 

    return 0; 
} 

는 C (그리고, 결과적으로, C++)에서 읽기 유형 선언에 대한 완전한 가이드이 article를 참조하십시오.

또한이 article은 일부 ASCII 아트를 제공합니다.

1

이 반환하는 함수에 대한 포인터입니다 :

관련 문제