항목 2: 함수내부에서 new 연산자를 사용해다면 잊지 마라!
언제 많이 사용 하는가? 팩토리 함수에서 많이 쓰인다. 팩토리 함수란? 함수 인자값을 통하여 계통적인 클래스의 각각에 맞는 파생 객체를 동적으로 생성해주는 함수 왜 이것이 문제인가? new의 주소값을 리턴하게 되면, 그 책임이 호출자에게 있어 면책 될 수 없기 때문이다(즉. 호출자가 책임져야 한다!) 효율적인 측면에서 본다면? 함수 내부에서만 쓰이는 변수라면 표현식으로 객체 선언하는것이 좋다, 함수가 끝날때 자동으로 객체의 자원을 반환해 주기 때문이다, 일전에 이런 기본적인 사항을 모른채, 함수 내부에서 new를 쓰고 delete를 하는 우를 범했다. 가뜩이나 new 연산자는 표현식 보다 600배나 더 느리다!(간단하게 실험해 보면 금방 알수 있다.) (팩토리 함수의 역활이 필요하다면, 동적메모리 생성 ..
연구실/파편화된 기록들
2008. 6. 1. 20:25
최근댓글