c – 使用相同模板的多个功能?

前端之家收集整理的这篇文章主要介绍了c – 使用相同模板的多个功能?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在同一模板中包含多个函数,而不是两次重写模板?就像你在写作:
template <typename T>
void A() {
    //...
}

template <typename T>
void B() {
    //...
}

这些功能不同,但它们共享一个类似的模板(使用通用类型T).有没有办法只初始化模板一次?

解决方法

将它们分组到类模板中可以实现这一点.
template <class T>
struct Functions {
    static void A() { /*...*/ }
    static void B() { /*...*/ }
};

但是,您无法从函数的参数中推断出T,并且调用语法更长:

Functions<double>::A();
原文链接:https://www.f2er.com/c/117963.html

猜你在找的C&C++相关文章