87일 차 교육 내용 메모를 옮겨 본다.
C++ 추가 내용에 대한 강의가 진행됐다.
앞으로 최소한 공부해 두어야 할 것
- FSM, 싱글톤 매니저, 스마트 포인터, 버텍스 버퍼 클래스, 람다
람다
- 함수 포인터 → 펑셔널 → 람다
함수 포인터
int (*FuncA) (int, int)
- 반환 값이 int인 그 주소 값에 위치한 것이 함수명을 저장하는 변수가 FuncA다.
- (*FuncA)는 함수가 아니라 변수명이다.
int* FuncB(int, int)
- 반환 값이 int 포인터다.
- 함수 포인터는 다른 함수에 미리 선언해 둘 수 있다.
- 함수 외부에서 함수 내부의 규칙을 만들 수 있다.
- 함수 포인터는 C#의 델리 게이트와 비슷하다.
- 함수 포인터는 설계에서나 사용하는 단계의 문법, 함수 포인터 + 라이브러리
펑셔널
- 템플릿을 이용해 함수처럼 사용할 수 있는 클래스
- C++에서 제공하는 함수 포인터를 함수 포인터로 쓸 수 있도록 만들어진 클래스
함수 = 반복해 기능을 사용
- 함수 포인터, 펑셔널은 함수의 정의에서 약간 벗어난다.
람다 = 즉석 제작 함수 = 무명함수
- 함수명 없이 무형의 제작 함수식.
- 펑셔널을 이용한 문법식
- 람다식은 함수 중간에 선언해 사용한다.
- 선언된 함수 내 지역 변수를 가져다 쓸 수 있다.
- 람다의 최소형 : auto FuncA = [ ] ( ) { };
- FuncA(); 로 사용해야 된다.
- 람다는 일반함수보다 느리다.
- 가상 함수 급으로 느리다.
- 발생시킬 자와 받을 대상에 대한 설계가 중요하다.
이처럼 C++에 대한 추가 내용 강의가 진행됐다.
댓글 없음:
댓글 쓰기