CODEDRAGON ㆍDevelopment/C, C++
동적 메모리 할당 방법
· 메모리를 동적으로 생성하고, 필요가 없어지면 제거해서 자원을 효율적으로 관리하는 방법입니다.
· new와 delete 키워드를 사용하여 메모리를 할당 받고 할당 받은 메모리를 반납합니다.
new |
동적 메모리 할당 |
delete |
동적 메모리 반납 |
#include <iostream> using namespace std;
int main() { int *p; P = new int; //new키워드를 사용하여 필요할 때 할당 받아서 사용 //... } |
new
· C언어에서 malloc()이나 calloc() 함수 등을 이용하여 메모리의 동적 할당을 수행하는 것과 동일한 방법입니다.
· 힙 메모리 공간(heap memory pool)에 객체를 위한 메모리를 할당받습니다.
· new 연산자를 통해 할당받은 메모리는 따로 이름이 없으므로 해당 포인터로만 접근할 수 있습니다.
타입1* 포인터이름 = new 타입2; |
타입1 |
데이터에 맞는 포인터를 선언하기 위해 선언합니다. |
타입2 |
메모리의 종류를 지정하기 위해 지정합니다. |
new |
메모리 할당 만약 사용할 수 있는 메모리가 부족하여 새로운 메모리를 만들지 못했다면, new 연산자는 널 포인터를 반환합니다. |
delete
· C언어에서 free() 함수를 이용하여 동적으로 할당받은 메모리를 다시 운영체제로 반환하는 것과 동일한 방법입니다.
· 사용하지 않는 메모리를 돌려줍니다.
delete 포인터이름; |
동적 메모리 할당(dynamic allocation)
http://codedragon.tistory.com/7148
'Development > C, C++' 카테고리의 다른 글
C++ Korea 홈페이지, C++ Korea github, C++ 핵심 가이드라인 (0) | 2018.05.26 |
---|---|
동적 객체 생성, 동적 객체 멤버 생성 (0) | 2018.05.21 |
C++ 재정의(Overriding) 조건 (0) | 2018.05.21 |
C++ 상속 정의 (0) | 2018.05.18 |
생성자의 구성 형식 (0) | 2018.05.18 |