23得票2回答
C++中的函数式数据结构

有没有人知道一个C++数据结构库,提供了与熟悉的STL数据结构相对应的函数式(又称不可变的,在FP范畴中也称为“持久化”)结构? 所谓“函数式”,是指对象本身是不可变的,而对这些对象的修改会返回新的对象,这些新的对象在适当的情况下共享与父对象相同的内部。 理想情况下,这样的库将类似于STL...

21得票5回答
使用Boost.Phoenix有哪些好处?

我无法理解使用Boost.Phoenix的真正好处。 当我将其与Boost.Spirit语法一起使用时,它确实非常有用:double_[ boost::phoenix::push_back( boost::phoenix::ref( v ), _1 ) ] 当我将其用于lambda函数时,它...

16得票2回答
什么时候使用boost phoenix有用?

可能是重复问题: 使用Boost.Phoenix有什么好处? 我开始阅读Boost Phoenix的文档。 然而,我必须承认我并不完全理解这个库的目的,特别是因为在C++0x中有对lambda表达式的语言支持。 有人可以解释一下或者给我一个例子吗?

14得票3回答
除了兼容性之外,bind()有什么优势(与C++11 lambdas相比)?

我在考虑将我的代码迁移到使用C++11风格的lambda,而不是到处使用bind。但我不确定这是否是一个好主意。 使用例如boost::lambda(或boost::phoenix)是否比C++11风格的lambda有任何实际优势? 迁移到lambda的使用是否明智?我应该迁移我的代码吗?

13得票1回答
Boost::bind和Boost Phoenix::bind有什么区别?

Boost::bind和Boost Phoenix::bind有什么区别?

12得票2回答
boost::bind、boost::lambda::bind和boost::phoenix::bind之间的区别

我正在尝试理解不同的绑定方法之间的区别。这里有一个类似的问题,可以查看boost::bind和boost::phoenix::bind的区别。 但是,如果有人能用示例来解释这个问题,那就太好了。另外,boost::phoenix是否是boost::bind、boost::lambda库的超集?

10得票1回答
Boost::Spirit表达式解析器

我在使用boost::spirit解析器时遇到了另一个问题。template<typename Iterator> struct expression: qi::grammar<Iterator, ast::expression(), ascii::space_type&gt...

10得票1回答
Boost Lambda 与 Phoenix 比较

我最近开始研究Boost Phoenix,作为Lambda的替代品。Phoenix是否完全可以替代Lambda? 或者Phoenix没有提供的一些Lambda功能? Phoenix成熟了吗? 有什么需要注意的地方吗? 我的主要兴趣是运算符组合,控制语句和类型转换则不太重要。 谢谢!

9得票3回答
Boost::Spirit::Qi。如何将内联解析器表达式转换为独立的语法,并如何拆分它们生成的元组?

我正在使用QI和Phoenix,希望编写一个小规则,返回4个布尔值作为语义动作内部函数调用的参数。我有几个需要这些参数的函数,目前我采用了以下方法: ( qi::_bool >> qi::_bool >> qi::_bool >> qi::_bool...

8得票1回答
Boost.Spirit.Qi:如何将规则的属性作为封闭规则结构体属性的字段?

像其他许多问题一样,我正在尝试使用Boost.Spirit.Qi将简单的语法解析为结构树。 我会尝试将我要做的事情简化到最简单的情况。我有: struct Integer { int value; }; BOOST_FUSION_ADAPT_STRUCT(Integer, (int, ...