qq_35677321
飘逸的石头
采纳率33.3%
2017-11-22 11:36 阅读 1.4k

c++库中 的 priority_queue 构建 小根堆

10

c++库中 的 priority_queue 构建 小根堆 后 ,top函数 返回的是 const对象。。。怎么变成非const对象
无法从“const HuffmanNode”转换为“HuffmanNode”

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-11-22 12:13

    强制转换下就可以。不过你不要试图去修改它的成员。

    点赞 评论 复制链接分享
  • qq_41242687 qq_41242687 2017-12-01 18:08

    为啥会有这个需求?top 返回堆顶元素,当然是只读的,因为万一你改了它,它就可能不是最大/最小的了。
    如果你想改,可以用 pop 把它弹出来,改完后再放进去,至于放进去还是不是最大/最小,就让它自己判断。
    或者你不想改,只是想读一下,那你完全可以赋值给任何一个变量啊。
    返回 const_reference 唯一的影响就是你不能够用个非 const 指针/引用来指着它而已。

    点赞 评论 复制链接分享

相关推荐