繁体   English   中英

C ++中的功能数据结构

[英]Functional data structures in C++

有没有人知道C ++数据结构库提供熟悉的STL结构的功能(在FP意义上也是不可变的,或“持久的”)等价物?

“功能”是指对象本身是不可变的,而对这些对象的修改会返回与父对象共享相同内部的新对象。

理想情况下,这样的库类似于STL,并且可以很好地与Boost.Phoenix一起工作(警告 - 我实际上并没有使用Phoenix,但据我所知,它提供了许多算法但没有数据结构,除非是懒惰计算的变化对现有的数据结构进行计数 - 是吗?)

我想看看Yannis Smaragdakis开发的FC ++是否包含任何数据结构。 当然,这个项目比任何其他项目更能支持C ++中的功能风格。

这个问题比起详细的答案更让人头疼,但Bartosz Milewski似乎已经做了很多工作。 例如,见:

http://bartoszmilewski.com/2013/11/13/functional-data-structures-in-c-lists/

看起来他已经在Okasiki的书籍Purely Functional Data Structures中实现了很多算法:

https://github.com/BartoszMilewski/Okasaki

NB我还没有尝试过这些,但它们是我在FC ++之外看到的第一个C ++持久性数据结构。

希望我能尽快尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM