首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Core_kernel.Heap和Core_kernel.FHeap有什么区别?

Core_kernel.Heap和Core_kernel.FHeap有什么区别?
EN

Stack Overflow用户
提问于 2018-04-11 20:28:23
回答 1查看 273关注 0票数 2

简街的Core_kernel库有两个基于配对堆的堆实现

模块Core_kernel.Heap 基于对堆的堆实现。

(文档)

模块Core_kernel.Fheap 功能堆(作为配对堆实现)。

(文档)

从描述上看,我不清楚他们之间有什么区别。我什么时候才能使用其中一种?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-12 06:39:17

区别在于您的第二个引语中的"Functional“一词:Heap是一个命令式实现,它也可以通过例如add函数的签名来看出:

代码语言:javascript
复制
val add : 'a t ‑> 'a ‑> Core_kernel__.Import.unit

它返回unit,并修改现有堆。

另一方面,FHeap是功能性的,这意味着添加之类的操作将创建新对象,而原始对象保持原样:在本例中,add的签名是

代码语言:javascript
复制
val add : 'a t ‑> 'a ‑> 'a t
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49783983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档