有没有办法限制我们在cpp文件中输入template <typename T>的次数?

Is there a way to limit the number of times we type template <typename T> in the cpp file?

在我的 cpp 文件中,我需要在每个函数之前包含以下行:

template <typename T>

是否有一些简写符号,这样我就可以为一组函数只键入一次语句,而不是在每个函数之前键入这个语句?

此外,我需要在 class 名称后包含 <T>,例如:

void MyClassName<T>::setDefaultValues()

有没有什么方法可以将所有模板函数分组,这样我就不必为每个函数重复键入这个?

没有。如果每个函数都需要它,那么需要在每个函数之前直接告诉编译器。

稍微短一点的方法当然是template <class T>

如果我们诉诸宏,我们可以变得更短。

由于这是一个模板化类型,并且您使用的是 C++11,因此消费类型无论如何都需要完整定义,这意味着您的其他文件将 #include ""-ing 您的源文件。

为什么不像 STL 为其容器所做的那样在头文件中定义所有内容,从而避免冗余标记和调用者不得不包含他们并不真正需要的文件的麻烦。不要将模板拆分为定义和实现。