[英]Stl c++ dynamic memory allocation
我遇到了一些旧代码,我看到了。
typedef std::queue < EventDataPair > EventQueue;
_eventQueue = new EventQueue();
为什么要使用在堆上分配的stl队列? 包含此代码的类是Singleton。
概括地说,什么时候应该在堆上分配一个stl? STL本身是动态的,它们可以在内部使用堆。
此外,您不会在析构函数中分配它的开销吗?
好吧,除非您想在代码中的不同上下文之间共享特定对象,否则没有太多动机来分配堆。
但是,对于某些旧式体系结构,您可能会担心堆栈的大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.