std::priority_queue::top
返回一个常数值。但是,我想从优先级队列中删除顶部元素,并能够在其他地方对其进行修改。
priority_queue<SomeClass, vector<SomeClass>, SomeClassCompare > pQueue;
...
SomeClass *toBeModified = &(pQueue.top());
pQueue.pop();
toBeModified->setMember(3); // I would like to do this
有没有办法可以从优先级队列中获取顶部元素(并从队列中删除)并根据需要修改它?