我在我的程序中创建了一个 STXXL 优先级队列。如果我不再需要PQ,如何删除它?就像 C++ 中的 delete[] 缓冲区一样。我想释放它使用的内存。
我查看了他们的示例和描述,但找不到方法。一旦创建了一个PQ,内存会一直被这个PQ占用到程序结束吗?
例如,如果我定义了两个优先级队列:Q1 和 Q2。
typedef stxxl::PRIORITY_QUEUE_GENERATOR <
SufNode<unsigned char>,
ComparatorGreater<unsigned char>,
mem*1024*1024, 1024*1024
>::result pqueue_type0;
pqueue_type0 Q1(pool1);
然后我对 Q1 做一些事情,然后删除它,这样我就可以为 Q2 分配更多的内存。
typedef stxxl::PRIORITY_QUEUE_GENERATOR<
SufNode<unsigned char>,
ComparatorGreater2<unsigned char>,
mem*1024*1024, 1024*1024
>::result pqueue_type20;
pqueue_type20 Q2(pool2);