티스토리 뷰
반응형
함수 포인터 는?
함수 포인터 는 함수에 포인터를 달아서 다른 함수들을 교체해가면서 사용할 수 있는 방법이다.
그럼 어디 쓰이냐?
간단하게 생각하면 스킬 변경이나 같은 값으로 다른 효과를 내고 싶을때 사용한다.
사용
{
선언은 함수와 비슷해 [ 자료형 (* 함수명)(매개변수) ]처럼 사용한다.
void (*Point_func)();
void (*Point_func_mg)(int &a ,int &b);
void pointFuncTest1() { printf("1번작동");}
void pointFuncTest2() { printf("2번작동");}
C->Point_func = pointFuncTest1;
C->Point_func();
C->Point_func = pointFuncTest2;
C->Point_func();
B->Point_func_mg = swap_reference;
B->Point_func_mg(x, y); // x =10, y=5
printf("\n\n\n%d , %d", x, y);
}
처럼 사용한다.
결과를 한번보자
{
}
처럼 작동한다.
또 함수포인터 를 매개변수로 받아 줄수 있는 방법도있다.
//선언
D3DXVECTOR3(*Shootting)(Ani_spriteActor _Bullet, D3DXVECTOR3 _BulletPos,int _speed);
void SETBulletTiype( D3DXVECTOR3(_Funce(Ani_spriteActor _Bullet, D3DXVECTOR3 _BulletPos, int _speed))=Shutting_Under);
inline static D3DXVECTOR3 Shutting_Under(Ani_spriteActor _Bullet, D3DXVECTOR3 _BulletPos, int _speed);
//함수를 넣어주는 함수
void BulletBase::SETBulletTiype( D3DXVECTOR3(_Funce(Ani_spriteActor _Bullet, D3DXVECTOR3 _BulletPos, int _speed)))
{
this->Shootting = _Funce;
}
넣어주는방법
this->SETBulletTiype(Shutting_Under);
'언어 > C++' 카테고리의 다른 글
cpp 전처리기 (0) | 2023.09.05 |
---|---|
c++ std::function 사용하기 (0) | 2023.01.10 |
인라인 함수(Inline Function) (0) | 2021.06.15 |
네임스페이스 (9) | 2021.05.18 |
bit연산! 또는 bit Flag (0) | 2021.05.05 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ??
- unity
- 티스토리챌린지
- 무료 gpt 유니티
- 색종이 자르기
- 토맛토마토
- Algorithm
- 타잔 알고리즘
- HDRP
- 내가 자주씀
- 함수
- 오블완
- 도넛과 막대그래프
- Topologically sorted
- Cpp
- null
- 석유 시추
- 영우의 방청소
- 프로그래머스
- 노미노
- 유니티 데칼 (decal)
- c#
- cpp 알고리즘
- 백준
- 구간끼리 덧셈
- tarjan
- 프로그래머스:여행경로
- 알고리즘
- 유니티
- 토마토맛토
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함