C++/Boost MPL : structure code likewise Haskell's let, 其中,

标签 c++ haskell boost metaprogramming boost-mpl

由于 C++ 元编程是函数式的:是否有任何方法可以与任何函数式编程语言(例如 Haskell 的)的 let 或 where 构造相媲美?

我正在使用 Boost::MPL,但希望为更长的元函数提供更多结构。拆分成几个函数很好,但在某些情况下我更喜欢 let/where。

最佳答案

MPL 本身不支持 let 子句,但一些构建在它之上的库支持。一个例子是 metamonad .顾名思义,它还支持其他一些更高级别的功能概念(monad)。一个很大的缺点是,metamonad 不是 Boost 发行版的官方部分。

就 MPL 的变通方案而言,将事物拆分为函数并使用更多命名空间对它们进行分组,然后将重要符号导入顶级命名空间可能是您的最佳选择。

关于C++/Boost MPL : structure code likewise Haskell's let, 其中,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11222380/

相关文章:

c++ - 制作比较器函数的 vector

c++ - 如何在 printf 上创建包装器?

c++ - 常量错误

haskell - 如何在 Haskell 中漂亮地打印表格?

c++ - 使用 Boost 查找大图的连接组件

c++ - 在 std::abs 函数上

Haskell QuickCheck2 使用 ByteString?

haskell - 找不到类似liftM2的功能

c++ - OSX 中的 Netbeans 和 Boost 库

c++ - 我如何调整这个 C++ 测试用例,以便它继续与新的网络设备一起工作?