부재 : 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에 의해서 생성자 호출
참조사항
메모리 지정 new 도 있다.
쓰임 : 원하는 지역에 객체행세를 하는 데이터를 넣을수 있다.(물론 이때 생성자는 호출된다!)
개인적인 생각
1. 어디에 쓰일까 곰곰히 생각해 보면,
첫째, 생성자 호출 없이 메모리를 할당 하려 할때
둘째, 내가 원하는 곳에 메모리를 할당 하려 할때
둘째의 경우 공유 메모리나 메모리-맵 I/O를 사용하는 애플리케이션을 만들때 유용하다고 함(구글에서 검색하면 자세히 나온다..)
2. 필자는 new는 건들수 없고 operator new 만 건든들수 있다는것만 알아도 큰 수확이라고 한다.
그리고 어떻게 operator new를 건든지는지 알면 좋을것이라고 하고 끝마쳤다;
3. More Effective C++ .. 다시 봐도 Effecitve C++ 보다 .. 더 어렵구나. 한 챕터 한 챕터가 한계다. 이번 챕터는 이런 차이점이 있다는 것만 파악할수 있다.(어떻게 쓰는지는 모르겠구나;)
코드
이유
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에 의해서 생성자 호출
참조사항
메모리 지정 new 도 있다.
쓰임 : 원하는 지역에 객체행세를 하는 데이터를 넣을수 있다.(물론 이때 생성자는 호출된다!)
개인적인 생각
1. 어디에 쓰일까 곰곰히 생각해 보면,
첫째, 생성자 호출 없이 메모리를 할당 하려 할때
둘째, 내가 원하는 곳에 메모리를 할당 하려 할때
둘째의 경우 공유 메모리나 메모리-맵 I/O를 사용하는 애플리케이션을 만들때 유용하다고 함(구글에서 검색하면 자세히 나온다..)
2. 필자는 new는 건들수 없고 operator new 만 건든들수 있다는것만 알아도 큰 수확이라고 한다.
그리고 어떻게 operator new를 건든지는지 알면 좋을것이라고 하고 끝마쳤다;
3. More Effective C++ .. 다시 봐도 Effecitve C++ 보다 .. 더 어렵구나. 한 챕터 한 챕터가 한계다. 이번 챕터는 이런 차이점이 있다는 것만 파악할수 있다.(어떻게 쓰는지는 모르겠구나;)
코드
'책 정리 > More Effective C++ 1판' 카테고리의 다른 글
항목 12 : 예외 발생이 매개변수 전달 혹은 가상 함수 호출과 어떻게 다른지를 이해하자. (0) | 2008.05.18 |
---|---|
항목 11 : 소멸자에서는 예외가 탈출하지 못하게 하자. (0) | 2008.05.16 |
항목 10 : 생성자에서는 리소스 누수가 일어나지 않게 하자. (0) | 2008.05.16 |
항목 9 : 리소스 누수를 피하는 방법의 정공은 소멸자이다. (0) | 2008.05.16 |
궁극의 예외처리 (0) | 2008.05.16 |
항목 7 : &&, ||, 혹은 , 연산자는 오버로딩 대상이 절대로 아니다 (1) | 2008.05.15 |
항목 6 : 증가 및 감소 연산자의 전위/후위 형태를 반드시 구분하자 (0) | 2008.05.15 |
항목 5 : 사용자 정의 타입변환 함수에 대한 주의를 놓지 말자. (0) | 2008.05.15 |
항목 4 : 쓸데 없는 기본 생성자는 그냥 두지 말자. (0) | 2008.05.15 |
항목 3 : 배열과 다형성은 같은 수준으로 놓고 볼 것이 아니다. (0) | 2008.05.14 |
최근댓글