gpt4 book ai didi

c++ - 如何使用类的类型作为模板的参数

转载 作者:太空狗 更新时间:2023-10-29 23:02:06 25 4
gpt4 key购买 nike

对于模糊的标题,我深表歉意,但我想创建一个模板类,该模板类是为指向函数指针的某个指针定义的。目前,我有这个:

template<class TB, TB TCons, class TF, TF TDes>
struct foo{}

像这样使用:

using bar = foo<decltype(&tb), &tb, decltype(&tf), &tf>;

但是,很明显,指定&tb&tf 的类型以及指针本身的代码冗余。有没有一种方法可以构造一个模板类,以便我可以改为执行类似的操作?

using bar = foo<&tb, &tf>;

最佳答案

从 C++17 开始,我们现在可以使用 auto 作为模板参数的类型,所以我们现在可以这样做:

template<auto TCons, auto TDes>
struct foo{};

如果我们需要获取TConsTDes 的类型,我们可以使用decltype

关于c++ - 如何使用类的类型作为模板的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29662516/

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