Series Archive

[카테고리:] C++

C++의 문법 자체를 설명하기 보다는 왜 이런 구조가 필요한지, 내부에서 어떤 일이 일어나는지, 그리고 실제 게임 개발과 엔진 개발에서 어떻게 활용되는지를 중심으로 정리하는 카테고리입니다.

게임 개발자를 위한 메모리 구조 5 – Object Pool을 사용하는 이유

2026년 5월 13일

게임이나 프로그램을 개발하다보면 동적으로 메모리가 필요할 때가 있습니다. 이때 보통은 객체가 필요하면 생성하고, 필요 없어지면 제거하면 된다고 생각하게 됩니다. 이렇게 필요할 때 new로 필요한 메모리를 할당하고, 모두 사용한 객체는 delete로 해제해 사용하는 방식은 대부분의…

게임 엔진 프레임워크, 게임 개발 & 프로그래밍, C++

게임 개발자를 위한 메모리 구조 4 – placement new는 왜 등장했을까?

2026년 5월 12일

이번에는 placement new라는 문법에 대해 살펴보려고 합니다. placement new는 일반적으로 사용하는 new와 문법에서 다소 차이가 있습니다. 사용 방법은 아래와 같습니다. new (memory) Actor(); new와 타입 사이에 메모리 주소가 들어가는 특이한 형태의 문법입니다. 저도 처음…

게임 엔진 프레임워크, 게임 개발 & 프로그래밍, C++

게임 개발자를 위한 메모리 구조 3 – 게임 엔진은 왜 allocator를 직접 구현할까?

2026년 5월 12일

게임 개발을 하거나 게임 개발 공부를 하다보면, 힙에서 사용할 객체를 생성할 때 자연스럽게 new를 사용하게 됩니다. 사전에 객체 생성 시점을 정확하게 예측하기 어렵고, 언제 해제될지도 명확하지 않은 상황이라면 힙 메모리를 사용하는 것이 맞습니다. new를…

게임 엔진 프레임워크, 게임 개발 & 프로그래밍, C++

게임 개발자를 위한 메모리 구조 2 – 왜 캐시 미스(Cache Miss)는 게임을 느리게 만들까?

2026년 5월 12일

자료구조를 처음 공부할 때는 보통 시간 복잡도(Big-O)를 중심으로 배우게 됩니다. 그래서 연결 리스트(linked list)는 삽입/삭제가 빠르고, 동적 배열(vector)은 중간 삽입이 느리다고 배우게 됩니다. 저도 처음에는 게임 엔진에서도 연결 리스트 같은 자료구조를 굉장히 많이 사용할…

게임 엔진 프레임워크, 게임 개발 & 프로그래밍, C++

게임 개발자를 위한 메모리 구조 1 – 스택과 힙이 중요한 이유

2026년 5월 12일

게임 개발에서 스택과 힙을 아는 게 중요할까요? 개발을 처음 공부하시는 분들은 스택과 힙을 아는 게 그렇게 중요할까? 그냥 적절하게 변수를 생성하고, 생성한 변수를 다루는 함수를 잘 작성해서 기능을 구현하면 되는 게 아닐까? 정도로 생각하실…

게임 엔진 프레임워크, 게임 개발 & 프로그래밍, C++

placement new는 왜 필요할까?

2026년 5월 9일

들어가며 이전 글에서는 allocator를 사용해 직접 구현한 Vector를 개선해봤습니다. 그 과정에서 allocator는 단순 메모리 할당기가 아니라, 메모리 확보와 객체 생명주기를 분리하기 위한 구조라는 이야기를 했습니다. 그리고 allocator를 사용하다 보면 자연스럽게 이런 코드가 등장합니다. allocator.construct(ptr,…

게임 개발 & 프로그래밍, C++

C++ Allocator를 사용해 동적 배열 Vector 개선하기

2026년 5월 9일

들어가며 이전 글에서는 C++ allocator의 기본 개념을 정리했습니다. allocator는 쉽게 말하면 메모리 할당 정책을 컨테이너와 분리하기 위한 구조입니다. 그런데 allocator는 설명만 들으면 조금 추상적으로 느껴질 수 있습니다. 이번 글에서는 직접 구현한 동적 배열 Vector에…

게임 개발 & 프로그래밍, C++

C++ Allocator의 기본 원리와 실무에서의 활용

2026년 5월 9일

들어가며 C++ STL 컨테이너를 보다 보면 이런 코드를 자주 보게 됩니다. std::vector<int, std::allocator> numbers; 그런데 대부분의 경우, allocator는 직접 건드리지 않습니다. 왜냐하면, 기본 allocator만 사용해도 대부분 잘 동작하기 때문입니다. 그래서 처음 allocator를 접하면 이런…

게임 개발 & 프로그래밍, C++