C++/수업 내용
[ C++ 6, 7, 8, 9일차 ] 자료구조 시작, T 템플릿, 콘솔 엔진 제작 시작
왹져박사
2025. 1. 8. 17:27
자료구조
선형/비선형 자료구조 : 연속적/비연속적 메모리 구조
선형 자료구조
배열 : stack에 할당
동적배열 : heap에 할당
- 배열
- 동적 배열
- 연결 리스트
- 스택
을 구현해 보는 작업을 했다.
구현 후에, template T로 범용성을 넓혀 구현하는 작업도 진행하며 템플릿의 특징을 정리해 보았다.
template T
- .h 헤더파일에 모두 구현해야 함. (컴파일 타임에 다 해석되어야 하기 때문)
.cpp에 구현도 가능하지만, 구조가 이상해짐
- 템플릿이 복잡성을 증가할 수 있다.
예) const char*같은 경우, 따로 선언이 필요.
-> 템플릿을 만들기 전에, 사용 범위 다시 생각해 보고 구현하기
- 템플릿 생성자에서, 기본 생성자 초기값 설정을 다음과 같이 설정하면 입력된 형식자에 맞게 초기값 설정됨.
//템플릿 생성자 부분
Node()
: data() //입력된 형식자를 기준으로 기본값이 설정. 0, nullptr..
{
}
T data
콘솔 엔진 제작
최근 엔진들은 컴포넌트 형태로 구성한다.
(Unity에서 GameObject를 생성하면 Transform을 가지고 있는 것이 아닌, Transform 컴포넌트를 가진다. )
Unreal Engine은 기존 상속구조에서 컴포넌트로 변경되었다.
범용적으로 생각한다면 컴포넌트 형태를 사용해야 한다.
하지만, 현재 우리가 제작 중인 콘솔엔진은 컴포넌트 형태로 제작하여도
껍데기 컴포넌트가 될 것이라 상속 구조로 작성한다.