C++
-
Smart PointerC++ 2022. 7. 17. 23:18
변수선언에는 크게 정적할당과 동적할당으로 나뉩니다. 정적할당은 프로그램을 실행하기 전 미리 선언되어있는 변수를 컴파일러에게 알려준 후 메모리 공간을 확보하는 것입니다. 이렇게 할당된 변수들은 스택 메모리에 쌓이고요. 동적할당은 프로그램을 실행하는 중에 변수를 만드는겁니다. 정적할당과 달리 미리 확보된 공간도 없으며 프로그램 실행 도중에 확보해야 합니다. 이렇게 생기게된 변수는 힙 메모리에 쌓이게 됩니다. 힙 메모리는 마치 프로그래머의 도화지 같은 곳입니다. 프로그래머가 마음대로 메모리를 할당하고 데이터를 다룰 수 있죠. 하지만 그만큼의 책임도 따릅니다. 프로그램이 꺼지기 전에 delete함수를 통해 동적할당된 메모리 영역을 해제해줘야 하기 때문이죠. Smart Pointer는 delete과정이 없어도 수..