C++ shared_ptr의 Control Block은 어디에 생성될까?
🚀 들어가며 이전 글들에서는 C++ 스마트 포인터의 기본 개념과 함께, shared_ptr, weak_ptr, enable_shared_from_this의 동작 원리를 살펴보았습니다. 그 과정에서 계속 등장한 핵심 개념이 하나 있습니다. 👉 바로 Control Block 입니다. shared_ptr은 객체의 생명주기 관리를 위해…
Series Archive
이 주제와 관련된 글을 시간순으로 정리한 목록입니다.
🚀 들어가며 이전 글들에서는 C++ 스마트 포인터의 기본 개념과 함께, shared_ptr, weak_ptr, enable_shared_from_this의 동작 원리를 살펴보았습니다. 그 과정에서 계속 등장한 핵심 개념이 하나 있습니다. 👉 바로 Control Block 입니다. shared_ptr은 객체의 생명주기 관리를 위해…
🚀 들어가며 이전 글에서는 weak_ptr이 왜 필요한지와 함께, shared_ptr의 순환 참조 문제를 어떻게 해결하는지 정리해보았습니다. shared_ptr은 매우 편리한 스마트 포인터입니다. 객체의 생명주기를 자동으로 관리해주고, 객체의 소멸 시점을 정확하게 알 수 없는 상황에서도 안전하게 객체를…
🚀 들어가며 이전 글에서는 shared_ptr의 내부 구조를 살펴보았습니다. shared_ptr은 객체의 생명주기를 관리하기 위해 Control Block을 사용하고, Control Block 안에는 strong count와 weak count 같은 정보가 저장됩니다. shared_ptr은 매우 편리한 도구입니다. 객체의 소멸 시점을 정확하게…
C# 메모리 관리 – 스태틱 변수 Static Variable 스태틱 변수 Static Variable 초보자 분들 중에 많은 분들이 아래와 같은 실수를 합니다: 그리고 다른 스크립트에서 아래 예제와 같이 사용하는 것을 찾을 수 있습니다. 적군이…
C# 메모리 관리 – 구조체와 클래스 구조체 vs 클래스 Struct vs Class 상황에 따라서 어떤 걸 사용해야 할까요? 클래스를 사용하면 변수가 하나 더 추가된다는 것을 확인했습니다 (참조를 하기 위한 변수). 따라서 객체를 수천개 생성한다면…
C# 메모리 관리 – 주기, 스코프, 가비지 컬렉션 Lifetime, Scope, Garbage Collection 주기 스코프 그리고 가비지 컬렉션 (Lifetime, Scope and Gabage Collection) 참조 타입 변수의 경우, 주기 lifetime는 가비지 컬렉터의 일이기 때문에 명확하지…
C# 메모리 관리 참조 타입과 힙 Reference Types and the Heap 참조 타입 변수는 참조 값이 메모리에 저장되는 객체입니다. 클래스의 인스턴스를 새로 생성할 때, 그 데이터가 힙 heap에 저장되고, 저장된 데이터의 위치를 가리키는 참조…
메모리 관리 메모리 관리 이 강좌는 특히 유니티 개발을 위해서 C#을 익히려는 C/C++ 프로그래머에게 유용합니다. C#은 메모리를 다른 방식으로 관리하기 때문에, 매우 혼동스럽거나 처음에는 마법같이 보일 수 있지만 다른 시스템들과 마찬가지로 눈에…