Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost fusion—编译时功能的重点是什么?_C++_Boost_C++11_Template Meta Programming_Boost Fusion - Fatal编程技术网

C++ boost fusion—编译时功能的重点是什么?

C++ boost fusion—编译时功能的重点是什么?,c++,boost,c++11,template-meta-programming,boost-fusion,C++,Boost,C++11,Template Meta Programming,Boost Fusion,我有几个关于boost::fusion的问题 1) fusion的编译时功能的重点到底是什么?是否只是将模板元编程与“正常”运行时编程“粘合”在一起(因此他们说融合是编译时与运行时代码的混合)?如果是这样,我认为你可以将元编程与普通运行时C++结合起来? 2) 融合只适用于元组吗?我似乎在所有的融合示例中都看到了元组。或者,元组只是融合“序列”的一个例子,元组以及其他类型可以算作融合序列吗 3) 再次,尝试理解融合-融合与允许通用编码的框架有何不同?我们有模板,对吗?再次强调的是,在编译时编程中

我有几个关于boost::fusion的问题

1) fusion的编译时功能的重点到底是什么?是否只是将模板元编程与“正常”运行时编程“粘合”在一起(因此他们说融合是编译时与运行时代码的混合)?如果是这样,我认为你可以将元编程与普通运行时C++结合起来? 2) 融合只适用于元组吗?我似乎在所有的融合示例中都看到了元组。或者,元组只是融合“序列”的一个例子,元组以及其他类型可以算作融合序列吗

3) 再次,尝试理解融合-融合与允许通用编码的框架有何不同?我们有模板,对吗?再次强调的是,在编译时编程中是否强调了融合

4) 要使用fusion,您需要了解哪些必备的boost库?我已经看到/听到MPL提到过几次了

5)fusion最常用的领域是什么?

6) 为什么很多元编程(编译时)函数返回类型


非常感谢关于boost fusion的任何其他建议。

boost.fusion文档中不是有很多例子,至少涵盖了您50%的问题吗?@KerrekSB坦率地说,有两三段没有回答我的问题,剩下的200多页只是列出了API(这不是很有帮助)示例是2或3行。例如,在没有Boost.Fusion的情况下,如何将值映射到类型?最好将其分解为单独的问题。。。我知道融合是巨大的,但这个问题似乎问了很多。@user997112根据定义,元函数总是返回类型。