12
delete ptr
은 과 만 다르며, delete
은 ptr
소멸자를 호출합니까? 또는 다른 말로하면 delete ptr
은 할당 된 메모리를 해제하기 위해 ptr
의 소멸자를 먼저 호출 한 다음 operator delete(ptr)
을 호출합니까? 다음은 기술적으로 다음과 같은 delete ptr
입니다.삭제 대 연산자 삭제 (및 무효 포인터)
T * ptr = new T;
//delete ptr equivalent:
ptr->~T();
::operator delete(static_cast<void *>(ptr));
?
예, '연산자 삭제'를 오버로드 할 수 있다는 것 외에도 유일한 차이점이 있습니다. –