Delete

    이펙티브 C++(360p ~ 369p)

    이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 360p ~ 369p 이펙티브 C++(360p ~ 369p) 요약 항목 50: new 및 delete를 언제 바꿔야 좋은 소리를 들을지를 파악해 두자 개념적으로 보면 operator new를 직접 만드는 것은 어려운 작업이 아니다. 다음은 버퍼 오버런 및 버퍼 언더런을 탐지하기 쉬운 형태로 만들어 주는 전역 operator new이다. static const int signature = 0xDEAFBEEF; typedef unsigned char Byte; // 이 코드는 고쳐야 할 부분이 몇 개 있다. void* operator new(std::size_t size) throw(std::bad_all..

    이펙티브 C++(350p ~ 361p)

    이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 350p ~ 361p 이펙티브 C++(350p ~ 361p) 요약 항목 49: new 처리자의 동작 원리를 제대로 이해하자 new를 사용할 때 할당된 객체의 클래스 타입에 따라서 메모리 할당 실패에 대한 처리를 다르게 가져가고 싶은 경우가 있다. class X { public: static void outOfMemory(); }; class Y { public: static void outOfMemory(); }; X* p1 = new X; // 메모리 할당이 실패하면 X::outOfMemory 호출 Y* p2 = new Y; // 메모리 할당이 실패하면 Y::outOfMemory 호출 C++에는 특정..