본문 바로가기

삼성전자 알고리즘/기타

3. malloc, new 써야할까

malloc과 new를 쓰는 이유 : 동적할당을 위해

번외) 동적할당이란 ?

 

C언어 : malloc / free

1. #include <stdlib.h>

2. Heap Memory에 할당

3.  사용 방법 :

int *p; //정수형 포인터 변수 p 선언
p - (int *)malloc(sizeof(int));

4. 메모리 해제 필요 :

free(p);

C++ : new / delete

1. C++에서는 키워드로 제공됨. (헤더 선언 필요 없음)

2.  Heap Memory에 할당

3. 사용 방법 : (https://boycoding.tistory.com/204 참조)

int *ptr = new int; //dynamically allocate an integer and assig the address to ptr so we can access it later.
*ptr = 7;           // assign value of 7 to allocated memory.

int *ptr1 = new int(5); //use direct initialization
int *ptr1 = new int{6}; //use uniform initialization

int *int_dynamic_alloc = new int();

4. 메모리 해제 필요 :

//assume ptr has previously been allocated with operator new.
delete ptr; //return the memory pointed to by ptr to the operating system.
ptr = 0;    //set ptr to be a null pointer (use nullptr instead of 0 in C++11)

5. 동적할당 예외처리 :