我对 boost 比较陌生,所以我相信这是一个简单的问题:
给定一个 fusion::vector<int, int, int>
, 我需要一个好方法把它变成一个 array<int, 3>
.
最佳答案
您可以只使用 array<>
的内置适配(标准或 boost )和 copy
:
#include <boost/fusion/include/copy.hpp>
#include <boost/fusion/include/vector.hpp>
#include <boost/fusion/adapted/boost_array.hpp>
#include <boost/array.hpp>
using namespace boost;
int main() {
fusion::vector<int, int, int> fv(1,2,3);
array<int, 3> arr;
fusion::copy(fv, arr);
}
关于c++ - 如何将齐次 fusion::vector 转换为 (std/boost)::数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30552487/