본문 바로가기
C++/[AssortRock] C++ 기초 다지기

CPP_1. AssortRock 8일차 오프라인 수업_220916

by 헛둘이 2022. 9. 18.
함수 포인터에 대한 이야기
  • 함수 포인터는 반환타입(*함수포인터명)(인자타입) 으로 사용한다.
  • 서버로부터 특정 명령을 받은 경우, 서버는 보통 숫자와 같은 글자들을 보내줌
  • 그런 값들을 상황에 맞게 처리하기 위해 함수 포인터 사용
  • 콜백 함수

 

 

템플릿에 대한 이야기
  • 함수 오버로딩으로 만들 함수들이 너무 많다면 템플릿으로 만들면 편하다.
  • 빌드 속도가 느려지지만 편리함이 더 좋음^_^

 

 

 

 

템플릿 특수화
  • 템플릿을 만들고 특정 타입에 대해 다르게 동작하도록 하는 방법
  • 템플릿을 쓰는 이유가 편리함인데 타이핑이 늘어나는건 좀 손해같은 느낌  :<

 

파일 분할에 대한 내용
  • 클래스 생성할 때 파일 추가에서 템플릿 누르면 헤더랑 cpp 파일 같이 만들어짐
  • pragma once는 헤더가 겹치는 부분들을 처리해주는 코드

 

 

파일 분할 시 주의할 점
  • 헤더에 넣은 것은 cpp에서 사용이 가능하지만
  • 만일 두 헤더가 서로를 include하면 서로가 서로를 호출하며 무한 재귀가 발생함
  • 헤더는 cpp와 통합이 되지만 cpp는 각각의 파일이 만들어진다는 점을 기억하면
  • cpp에다 헤더를 추가하면 됨
  • 그러면 헤더는? 전방선언이라고 해서 포인터를 사용할 경우 윗 줄에 어떤 타입의 클래스가 있다 라는 정보만 전달

 

inline에 관한 내용
  • 간단한 함수의 경우 앞에 inline 키워드를 붙이면 함수 호출하지않고 인라인 함수 내용물을 직접 코드에 박아넣음
  • 하지만 이건 내가 해달라고 되는게 아니라 컴파일러가 알아서 함
  • __forceinline 쓰면 무조건 inline 처리함

댓글