Series Archive

[카테고리:] C++

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

C 언어로 코루틴 구현하기 – switch-case와 __LINE__ 트릭의 원리

2026년 5월 8일

🚀 들어가며 아래 링크는 C 언어로 코루틴을 구현하는 아주 유명한 글입니다. https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html 처음 보면 굉장히 충격적입니다. 왜냐하면 C 언어에는 coroutine 문법이 없고, yield도 없고, async/await도 없는데 코루틴처럼 동작하는 구조를 만들어내기 때문입니다. 게다가 스레드도 사용하지…

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

C++ shared_ptr의 Control Block은 어디에 생성될까?

2026년 5월 7일

🚀 들어가며 이전 글들에서는 C++ 스마트 포인터의 기본 개념과 함께, shared_ptr, weak_ptr, enable_shared_from_this의 동작 원리를 살펴보았습니다. 그 과정에서 계속 등장한 핵심 개념이 하나 있습니다. 👉 바로 Control Block 입니다. shared_ptr은 객체의 생명주기 관리를 위해…

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

C++ enable_shared_from_this 완벽 정리 | shared_ptr(this)가 위험한 이유

2026년 5월 6일

🚀 들어가며 이전 글에서는 weak_ptr이 왜 필요한지와 함께, shared_ptr의 순환 참조 문제를 어떻게 해결하는지 정리해보았습니다. shared_ptr은 매우 편리한 스마트 포인터입니다. 객체의 생명주기를 자동으로 관리해주고, 객체의 소멸 시점을 정확하게 알 수 없는 상황에서도 안전하게 객체를…

게임 엔진 프레임워크, C++

shared_ptr 내부 구조 이해하기 | Control Block, 참조 카운트, make_shared 차이

2026년 5월 6일

🚀 들어가며 이번 글에서는 shared_ptr의 내부 구조 즉, 동작 매커니즘을 살펴보고자 합니다. 이전 글에서는 C++ 스마트 포인터의 기본 개념과 함께 unique_ptr, shared_ptr, weak_ptr의 사용 기준을 살펴봤습니다. 특히 shared_ptr을 설명할 때 중요한 문장이 있었습니다. “객체의…

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

C++ 스마트 포인터 완전 정리: unique_ptr, shared_ptr, weak_ptr 그리고 면접에서 원하는 답변까지

2026년 5월 6일

🚀 들어가며 C++ 스마트 포인터에 대해 살펴봅니다. C++에서 메모리 관리는 항상 중요한 주제입니다. C++는 사용자(개발자)에게 메모리 관리 책임을 맡기는 대표적인 프로그래밍 언어입니다. 원시 포인터를 직접 다룰 때는 아래와 같이 메모리를 할당하고 해제할 수 있습니다.…

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