본문 바로가기

C++ 메모리 관리3

[C++] 메모리 관리 (3) - 스마트 포인터 (Smart Pointer) References Professional C++ https://en.cppreference.com/w/ Contents 스마트 포인터 (Smart Pointer) unique_ptr, shared_ptr, weak_ptr [C++] 메모리 관리 (1) - 동적 메모리, 배열과 포인터 [C++] 메모리 관리 (2) - 메모리 문제 유형과 해결 방법 이전 포스팅 마지막 부분에서 스마트 포인터인 unque_ptr을 사용해서 메모리 누수를 방지하는 방법을 간단히 보여주었습니다. 지난 두 포스팅에 이어서 이번에는 메모리를 쉽게 관리해주는 C++의 스마트 포인터에 대해서 알아보도록 하겠습니다. 5. 스마트 포인터 Smart Pointer 방금까지 살펴봤듯이 C++에서 메모리 관리는 에러와 버그의 원인입니다. 메모.. 2022. 2. 8.
[C++] 메모리 관리 (2) - 메모리 문제 유형과 해결 방법 References Professional C++ https://en.cppreference.com/w/ Contents 흔히 발생하는 메모리 문제 유형 메모리 누수 감지 도구 (Visual C++, Valgrind) 이전 포스팅에 이어서 C++의 메모리 관리에 대해서 알아보도록 하겠습니다. [C++] 메모리 관리 (1) - 동적 메모리, 배열과 포인터 이번 포스팅에서는 먼저 흔하게 발생하는 메모리 문제 유형들과 이러한 문제들을 피하는 방법들에 대해 알아보겠습니다. 4. Common Memory Ptifalls new/delete/new[]/delete[]와 low-level 메모리 연산을 사용하여 동적 메모리를 관리하면 오류가 발생하기 쉽습니다. 메모리 관련 버그가 발생하는 상황을 명확하게 정리하는 것.. 2022. 2. 7.
[C++] 메모리 관리 (1) - 동적 메모리, 배열과 포인터 References Professional C++ https://en.cppreference.com/w/ Contents 동적 메모리(Dynamic Memory) 다루기 배열과 포인터 비교 low-level 메모리 연산 C++은 C와 마찬가지로 최대한의 자유를 보장하며, 우리가 무엇을 하고 있는지 잘 알고 있다고 가정합니다. C++ 언어 자체는 매우 유연하며, 안전성이 떨어지는 것을 감수하면서 성능을 추구하기 때문에 심각한 문제가 발생할 가능성이 있는 작업을 할 수도 있습니다. 메모리 할당(allocation)과 관리(management)는 C++ 프로그래밍에서도 특히 문제가 발생하기 쉬운 부분입니다. 그래서 높은 수준의 프로그램을 작성하려면 메모리 관리의 내부 작동 방식을 확실히 이해하고 있어야 하는데.. 2022. 2. 7.