c++에서 동적 할당 기능을 가진 연산자이다. malloc, free와 비교할 때 아래의 이점을 가진다.

malloc, freenew & delete
할당할 대상의 정보를 무조건 바이트 크기 단위로 전달해야 한다.할당할 대상의 자료형만 전달하면 된다.
반환형이 void형 포인터이기 때문에 적절한 형 변환을 거쳐야 한다.처음부터 할당 대상 자료형의 pointer형이 반환된다.

키워드 new의 사용방법

목적코드
int형 변수의 할당int *ptr1 = new int;
double형 변수의 할당double *ptr2 = new double;
길이가 3인 int형 배열의 할당int *arr1 = new int[3];
길이가 7인 double형 배열의 할당double *arr2 = new double[7];

키워드 delete의 사용방법

목적코드
앞서 할당한 int형 변수의 소멸delete ptr1;
앞서 할당한 double형 변수의 소멸delete ptr2;
앞서 할당한 int형 배열의 소멸delete []arr1;
앞서 할당한 double형 배열의 소멸delete []arr2;

참고자료

윤성우의_열혈_cpp_프로그래밍