항목 8. operator new와 operator delete 작성시 관례를 따른다.
이유에 앞서, C++ operator new 와 operator delete의 관례란? 1. 올바른 인자값을 가져야 한다. 2. 메모리가 충분하지 않을때 에러처리 함수를 호출해야 한다. 즉, 사용 가능한 메모리가 없을 때 요구에 대처해야 한다. 이유 1. 부모 클래스에 선언한 operator new(new[])를 상속 받은 자식 클래스는 부모클래스의 new를 호출한다. (이때 오버라이딩은 되지 않는다. 문법 기초다. 그래서 오버로딩을 해서 쓰는데, 역시 오버로딩의 한계가있다) 하지만 대개 자식 클래스는 부모클래스보다 메모리를 더 많이 차지하므로, 자식클래스의 메모리 할당시 부모클래스의 용량(메모리)로 잡을수도 없는 노릇이다. 부모클래스의 용량을 포함하는 자식클래스의 용량의 할당이 올바른 반환값이다. 한마..
책 정리/Effective C++ 2판
2008. 5. 7. 07:56
최근댓글