gpt4 book ai didi

c++ - 当不支持可变模板参数时,如何为元组专门化类模板?

转载 作者:太空狗 更新时间:2023-10-29 23:05:30 24 4
gpt4 key购买 nike

我有一个类模板

template<class T>
class A
{...};

当 T 是一个元组时,我想专门化它。我想我可以做到这一点

template<class Args...>
class A<std::tuple<Args...>>
{...};

但是,我的编译器不支持可变模板参数,怎么办?

最佳答案

您可以针对每个不同元数的元组专门化它:

// explicit specialization for 0-element tuples
template<>
class A<std::tuple<>>
{...};

// partial specialization for 1-element tuples
template<class Arg>
class A<std::tuple<Arg>>
{...};

// partial specialization for 2-element tuples
template<class Arg0, class Arg1>
class A<std::tuple<Arg0, Arg1>>
{...};

...等等,直到您需要支持的元组元素的最大数量为止。

关于c++ - 当不支持可变模板参数时,如何为元组专门化类模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19140246/

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