API 용 callback 함수를 클래스내에 두려면
static 키워드를 붙여서 함수를 선언하면 됩니다.
참고로 클래스 내에서 static 이 붙은 함수는 클래스의 선언 없이 그냥 이용할 수 있습니다.
전역 함수처럼 이용할 수 있는 것입니다.
그리고 static 이 붙은 변수는 역시 전역 변수로 이용할 수 있습니다.
static 을 붙이면 내부적으로 어셈블리 수준에서 call 할때 클래스 포인트를 전달하지 않습니다.
그러므로 클래스내의 static 함수는 사실 클래스에서 사용한다는 의미이지, 전역 함수와 다를게 없습니다.
참고로
선과 정의는 차이는
정의는 형을 설정해 놓는 것이며
선언은 이것을 사용하겠다는 것입니다.
정의 : typedef int myInt;
선언 : myInt ILikeBuilder;
그런데 정의라는 말은 선언이란 말과 혼동되기도 하므로,
보통 구현이라고 표현하는 것이 더 알기 쉽습니다.
즉 선언과 구현 이렇게 표현하는게 낫겠죠.
에고~ 예제도 없이 날로 먹는 팁이었습니다.
|