【发布时间】:2017-07-25 16:13:02
【问题描述】:
我正在使用std::vector 作为容器创建一个std::priority_queue。
似乎优先级队列在其构造函数中创建了传递给它的容器的副本,因为在构造队列后对容器所做的更改不会反映在队列的容器中。
例如,如果我在容器上调用 clear(),优先级队列仍然是满的。
有没有办法在构造后维护对优先级队列内部容器的引用?
【问题讨论】:
-
请注意,您可以从
priority_queue派生,并且您的派生类可以访问容器(我认为它被恰当地称为c)。 -
谢谢理查德,这就是我现在使用的方法,效果很好。
标签: c++ vector queue containers