[英]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.