이유에 앞서, 왜 사람들은 자신만의 new와 delete를 필요로 할까?
1. 효율성 때문
- operator new 와 operator delete의 디폴트 버전들은 일반적인 목적에 적합하다(제네릭 프로그래밍)
- 해체작업시 개별 객체 해체는 개별 객체에 대한 크기 정보가 필요하다.
- 개별 객체의 크기가 4바이트라 가정할때, 이 크기를 저장할 변수도 4바이트이다(포인터 크기 32비트환경)
- 그러면 4바이트 할당을 위해 4바이트 소모는 .. 엄청난 비효율이다.

이유
1. 효율적인 해체가 가능해 지기 때문에
2. 항목 5가 가장 큰 이유

해결방법
1. 항목 8, 9 사용
2. union 으로 해결
(2. 개인적 생각, 클래스의 특성에 맞게 STL 로 작성하는게 더 효과적이라고 생각됨, 21세기(책은 20세기 책이다)에서는 효율과 가독성 중, 효율이 정말 많이 떨어지지 않는다면, 메모리를 소모하고 가독성을 높이는게 더 좋기 때문이다. int형 변수 2개로 32개의 BOOL형 처럼 쓰면, 짜고나서 보는 자신도 복잡하기 때문이다)

요점
operator new를 작성했다면, operator delete도 함께 작성해야 한다, 항목 5와 가장 크다.

개인적인 생각
...자료구조 리스트라서.. 읽다가 지쳤다. 직접 구현하는 리스트도 좋지만, STL을 쓰면 가독성이 매우 올라간다. 요점을 파악했으면 과감하게 넘기자.




  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기

댓글을 달아 주세요

">