부재 : new와 operator new 의 차이점에 대해서 숙지해라. 이유 1. operator new 와 new 는 엄연히 차이를 보이기 때문이다. 해결방법 .. 각 차이점을 이해 한다. new 연산자는 1. 오버로딩이 안된다. 2. 내부적으로 operator new를 호출한다. 3. 생성자를 호출한다. 4. 객체형 포인터를 반환한다. operator new 는 1. 메모리 할당을 받는다. 2. void *형을 반환한다. delete 역시 마찬가지다. operator new 와 operator delete 는 C++ 판 malloc 과 free 함수 이다. 배열을 new 할때의 차이점 1. new는 똑같지만 내부적으로 operator new[] 를 호출 한다. 2. 그리고 각각 new에 의해서 생성자..
항목8 검색 결과
해당 글 2건
항목 8 : new 와 delete의 의미를 정확히 구분하고 이해하자
책 정리/More Effective C++ 1판
2008. 5. 15. 21:45
항목 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
최근댓글