gpt4 book ai didi

c++ - 来自元组的构造函数参数

转载 作者:行者123 更新时间:2023-11-30 01:55:47 26 4
gpt4 key购买 nike

假设我有一个模板,它由一个类类型和一些参数类型参数化。一组匹配这些类型的参数存储在一个元组中。如何将这些传递给类类型的构造函数?

几乎在 C++11 代码中:

template<typename T, typename... Args>
struct foo {
tuple<Args...> args;
T gen() { return T(get<0>(args), get<1>(args), ...); }
};

构造函数调用中的...不定长怎么填?

我想我可以想出一些复杂的递归模板调用机制来执行此操作,但我不敢相信我是第一个想要这个的人,所以我想会有现成的解决方案来这在那里,甚至可能在标准库中。

最佳答案

C++17 有 std::make_from_tuple为此:

template <typename T, typename... Args>
struct foo
{
std::tuple<Args...> args;
T gen() { return std::make_from_tuple<T>(args); }
};

关于c++ - 来自元组的构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com