본문 바로가기
C++/수업 내용

[ C++ 6, 7, 8, 9일차 ] 자료구조 시작, T 템플릿, 콘솔 엔진 제작 시작

by 왹져박사 2025. 1. 8.

 

자료구조

선형/비선형 자료구조 : 연속적/비연속적 메모리 구조

 

선형 자료구조

배열 : stack에 할당

동적배열 : heap에 할당

 

- 배열

- 동적 배열

- 연결 리스트

- 스택

을 구현해 보는 작업을 했다. 

 

구현 후에, template T로 범용성을 넓혀 구현하는 작업도 진행하며 템플릿의 특징을 정리해 보았다. 

 

template T

 - .h 헤더파일에 모두 구현해야 함. (컴파일 타임에 다 해석되어야 하기 때문)

     .cpp에 구현도 가능하지만, 구조가 이상해짐

 

 - 템플릿이 복잡성을 증가할 수 있다. 

   예) const char*같은 경우, 따로 선언이 필요. 

    -> 템플릿을 만들기 전에, 사용 범위 다시 생각해 보고 구현하기

 

 - 템플릿 생성자에서, 기본 생성자 초기값 설정을 다음과 같이 설정하면 입력된 형식자에 맞게 초기값 설정됨.

//템플릿 생성자 부분

Node()
	: data()	//입력된 형식자를 기준으로 기본값이 설정. 0, nullptr..
{
}

T data

 

 

콘솔 엔진 제작

최근 엔진들은 컴포넌트 형태로 구성한다.

(Unity에서 GameObject를 생성하면 Transform을 가지고 있는 것이 아닌,  Transform 컴포넌트를 가진다. )

Unreal Engine은 기존 상속구조에서 컴포넌트로 변경되었다. 

범용적으로 생각한다면 컴포넌트 형태를 사용해야 한다. 

 

하지만, 현재 우리가 제작 중인 콘솔엔진은 컴포넌트 형태로 제작하여도

껍데기 컴포넌트가 될 것이라 상속 구조로 작성한다.