Page 95

치는 방식으로 처리하는 이들이 많다. 실력 있는 C++ 프로그래머가 되기 위해서는 C++에서 동적 메모리를 처리하는 과정을 확실히 이해하고 넘어가야 한다.

7.1.1 메모리의 작동 과정 살펴보기 객체가 메모리에 표현되는 방식을 머릿속에 그릴 수 있다면 동적 메모리의 처리 과정을 한결 이 해하기 쉽다. 이 책에서는 메모리 한 칸을 레이블이 달린 상자로 표현한다. 여기서 레이블은 그 메모리를 사용하는 변수 이름에 해당한다. 그리고 상자에 담긴 데이터는 그 변수(메모리)에 현 재 저장된 값이다. 예를 들어 [그림 7-1]은 다음 코드를 실행한 후의 메모리 상태를 표현한 것이다. 이 코드는 함 수 안에 있으므로 i는 로컬 변수다. int i = 7;

이러한 로컬 변수 i를 자동 변수 automatic variable 라고 부르며 스택에 저장된다. 프로그램의 실행 흐름이 이 변수가 선언된 스코프(유효 범위)를 벗어나면 할당된 메모리가 자동으로 해제된다. 그림 7-1 스택

J

7

new 키워드를 사용하면 힙 메모리가 할당된다. 다음 코드는 ptr 변수를 스택에 생성하고 nullptr로 초기화한 뒤 ptr가 동적으로 생성된 힙 메모리를 가리키도록 설정한다.

int* ptr = nullptr; ptr = new int;

이를 좀 더 간단히 한 줄 코드(원라이너 one-liner )로 표현하면 다음과 같다. int* ptr = new int;

7장 메모리 관리 265

Profile for 한빛미디어

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

Advertisement