일부 기존 코드가 나타났습니다.Stl C++ 동적 메모리 할당
typedef std::queue <EventDataPair> EventQueue;
_eventQueue = new EventQueue();
왜 힙에 할당 된 대기열을 사용 하시겠습니까 ??? 이 코드가 포함 된 클래스는 Singleton입니다.
일반화하려면 언제 힙에 stl을 할당해야합니까? STL 자체는 본질적으로 동적이며 내부적으로 힙을 사용할 수 있습니다.
또한, 소멸자에서 할당을 해제하는 오버 헤드가 없습니까 ??
동일한 이유로 동적으로 아무 것도 만들지 않습니다. 수명을 제어 할 수 있도록하기 위해서입니다. 문맥에 비추어 볼 때,이 특정 객체가 동적이어야하는 충분한 이유가 있는지 여부를 알 수있는 방법이 없습니다. –
그것의 수명을 제어하는 것은 유효한 관찰입니다 ...하지만 그 점을 제외하고, 나는 특히 싱글 톤에서 어떤 특별한 이유도 발견 할 수 없습니다 ... 객체가 절대 할당 해제되지 않을 것입니다. 또한, 당신은 소멸자에서 그것을 파괴하는 오버 헤드가 있습니까 ?? – basav
오버 헤드가'delete _eventQueue;'와 같은 추가 코드를 작성하지 않는 한, 그것을 파괴하는 오버 헤드가 없다고 생각하지 않습니까? –