new, delete 연산자
new, delete는 기본 키워드이기 때문에 별다른 헤더가 필요 없다.
int* ptr = 0;
ptr = new int;
cout << *ptr << endl;
delete ptr;
C++에서 메모리 공간 할당을 따로 받는게 아닌, 새 데이터 공간을 만들어 메모리 공간을 할당받는 것 과 같은 효과
위 예제에서
new: int 형 변수를 메모리 공간에 새로 생성(할당) 하는 것
delete: ptr이 가리키고 있는 new로 인해 생성된 int형 변수를 메모리 공간에서 제거
(아하... new의 이런 특성 때문에 클래스를 메인에서 할당받을때 new 키워드를 이용해서 할당 받은 것이구나... 가릿)
new는 메모리 공간을 할당함과 동시에 초기화 가능
사용법: new 자료형(초기화)
int* ptr = 0;
ptr = new int(100);
cout << *ptr << endl;
delete ptr;
* new / delete 사용 예시
- 할당(new)
int * ptr1 = new int;
double * ptr2 = new double;
int * arr1 = new int[3];
double * arr2 = new double[7];
- 소멸(delete)
delete ptr1;
delete ptr2;
delete []arr1;
delete []arr2;
int* ptr = 0;
ptr = new int;
cout << *ptr << endl;
delete ptr;
C++에서 메모리 공간 할당을 따로 받는게 아닌, 새 데이터 공간을 만들어 메모리 공간을 할당받는 것 과 같은 효과
위 예제에서
new: int 형 변수를 메모리 공간에 새로 생성(할당) 하는 것
delete: ptr이 가리키고 있는 new로 인해 생성된 int형 변수를 메모리 공간에서 제거
(아하... new의 이런 특성 때문에 클래스를 메인에서 할당받을때 new 키워드를 이용해서 할당 받은 것이구나... 가릿)
new는 메모리 공간을 할당함과 동시에 초기화 가능
사용법: new 자료형(초기화)
int* ptr = 0;
ptr = new int(100);
cout << *ptr << endl;
delete ptr;
* new / delete 사용 예시
- 할당(new)
int * ptr1 = new int;
double * ptr2 = new double;
int * arr1 = new int[3];
double * arr2 = new double[7];
- 소멸(delete)
delete ptr1;
delete ptr2;
delete []arr1;
delete []arr2;
댓글
댓글 쓰기