C++ 함수 포인터

2013. 1. 10. 14:07
함수 포인터를 알고는 있었지만 실제 응용을 하려다 보니 막히는 사항이 있어 다시 공부를 좀 하고 정리를 하였다.

함수 포인터를 함수를 가리키는 포인터로 아래와 같은 형식으로 선언한다.
반환형 (*함수포인터이름)(매개변수)

포인터 이름은 C++의 경우 객체의 멤버일 경우 객체까지 선언한다
반환형 (클래스::*함수포인터이름)(매개변수)

이렇게 선언된 함수 포인터에 실제 함수의 주소를 할당하여 사용할 수 있다.

이러한 함수 포인터는 일반 포인터 변수와 마찬가지로 비교 연산이 가능하다.
그리고 이 함수 포인터에 할당되어 있는 함수를 호출하는 방법은 C형식의 경우 기존 함수 호출방법과 같지만 C++의 경우 객체 생성 방법에 따라 약간 다르다.

함수 포인터를 특정 함수의 매개변수로 넘기는 방법은 파라메터 입력 부분에 함수 포인터 선언을 해주면 되며 함수내 에서는 포인터 이름으로 해당 함수를 사용할 수있다.

함수 포인터는 또한 특정 함수의 반환 값으로 사용될 수 있다.
아래는 함수 포인터를 반환하는 함수의 선언이다.

이 함수 포인터는 배열이나 STL의 컨테이너에도 응용하여 사용할 수 있다.

'Dev Story' 카테고리의 다른 글

키보드 상태 확인하기  (0) 2013.04.07
SQLite Memory DB 속도 테스트  (1) 2013.01.30
IntelliJ IDEA 에 Son of Obsidian Color Scheme 적용하기  (0) 2013.01.01
IntelliJ IDEA SDK 설정하기  (0) 2013.01.01
OpenCV 2.4.3 is out  (0) 2012.11.05
Posted by NeoDreamer
:
BLOG main image
사람의 발목을 잡는건 '절망'이 아니라 '체념'이고 앞으로 나아가게 하는건 '희망'이 아니라 '의지'다. - 암스 중에서 - by NeoDreamer

공지사항

카테고리

전체보기 (793)
Life Story (1)
Thinking (2)
Nothing (5)
---------------* (0)
Dev Story (701)
Com. Story (80)
IT Story (1)
---------------+ (0)
Etc (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :
05-04 21:47