c++库中 的 priority_queue 构建 小根堆 后 ,top函数 返回的是 const对象。。。怎么变成非const对象
无法从“const HuffmanNode”转换为“HuffmanNode”
强制转换下就可以。不过你不要试图去修改它的成员。
为啥会有这个需求?top 返回堆顶元素,当然是只读的,因为万一你改了它,它就可能不是最大/最小的了。
如果你想改,可以用 pop 把它弹出来,改完后再放进去,至于放进去还是不是最大/最小,就让它自己判断。
或者你不想改,只是想读一下,那你完全可以赋值给任何一个变量啊。
返回 const_reference 唯一的影响就是你不能够用个非 const 指针/引用来指着它而已。