gpt4 book ai didi

c++ - 模板参数值函数的继承

转载 作者:行者123 更新时间:2023-12-04 00:50:17 26 4
gpt4 key购买 nike

在 C++ 中是否可以根据模板参数的值从另一个派生类?

类似的东西:

template<std::uint8_t nbr>
class A :
public B
{}

template<std::uint8_t nbr>
class A
{}

如果 nbr 大于 1,则 A 类派生自 B 类。如果 nbr = 0,则 A 类不是从 B 类派生的。

如果是,我们该怎么做。我检查了 type_traits,但没有找到。

最佳答案

您可以为此使用特化:

template<std::uint8_t nbr>
class A : public B
{};

template<>
class A<0>
{};

std::conditional 也可能有帮助

struct Empty{};

template<std::uint8_t nbr>
class A : public std::conditional_t<nbr == 0, Empty, B>
{};

关于c++ - 模板参数值函数的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67180933/

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