2019년 7월 14일 일요일

국비 교육 : 게임 프로그래밍 087일

87일 차 교육 내용 메모를 옮겨 본다.
C++ 추가 내용에 대한 강의가 진행됐다.


앞으로 최소한 공부해 두어야 할 것
- FSM, 싱글톤 매니저, 스마트 포인터, 버텍스 버퍼 클래스, 람다


람다
- 함수 포인터 → 펑셔널 → 람다


함수 포인터

int (*FuncA) (int, int)
- 반환 값이 int인 그 주소 값에 위치한 것이 함수명을 저장하는 변수가 FuncA다.
- (*FuncA)는 함수가 아니라 변수명이다.

int* FuncB(int, int)
- 반환 값이 int 포인터다.

- 함수 포인터는 다른 함수에 미리 선언해 둘 수 있다.
- 함수 외부에서 함수 내부의 규칙을 만들 수 있다.
- 함수 포인터는 C#의 델리 게이트와 비슷하다.
- 함수 포인터는 설계에서나 사용하는 단계의 문법, 함수 포인터 + 라이브러리


펑셔널
- 템플릿을 이용해 함수처럼 사용할 수 있는 클래스
- C++에서 제공하는 함수 포인터를 함수 포인터로 쓸 수 있도록 만들어진 클래스


함수 = 반복해 기능을 사용
- 함수 포인터, 펑셔널은 함수의 정의에서 약간 벗어난다.


람다 = 즉석 제작 함수 = 무명함수
- 함수명 없이 무형의 제작 함수식.
- 펑셔널을 이용한 문법식
- 람다식은 함수 중간에 선언해 사용한다.
- 선언된 함수 내 지역 변수를 가져다 쓸 수 있다.

- 람다의 최소형 : auto FuncA = [ ] ( ) { };
- FuncA(); 로 사용해야 된다.

- 람다는 일반함수보다 느리다.
- 가상 함수 급으로 느리다.
- 발생시킬 자와 받을 대상에 대한 설계가 중요하다.


이처럼 C++에 대한 추가 내용 강의가 진행됐다.

댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...