【发布时间】:2017-03-15 17:34:35
【问题描述】:
我有一个带有 5 个模板参数的模板类,看起来与此类似。
SomeClass.h
template < typename A, typename B, typename C, typename D >
class SomeClass
{
private:
A a_obj;
B b_obj;
C c_obj;
D d_obj;
public:
void someoperationA();
void someoperationB();
void someoperationC();
};
SomeClass.cpp
template < typename A, typename B, typename C, typename D >
SomeClass<A, B, C, D>::someoperationA()
{
A::someStaticMethods();
}
template < typename A, typename B, typename C, typename D >
SomeClass<A, B, C, D>::someoperationB()
{}
template < typename A, typename B, typename C, typename D >
SomeClass<A, B, C, D>::someoperationC()
{}
考虑一下我的模板参数应该被赋予一些好名字的情况,比如
SomeClass.cpp
template <
typename ABIGCLASSNAME,
typename BBIGCLASSNAME,
typename CBIGCLASSNAME,
typename DBIGCLASSNAME
>
SomeClass<ABIGCLASSNAME,
BBIGCLASSNAME,
CBIGCLASSNAME,
DBIGCLASSNAME>::someoperationA()
{
ABIGCLASSNAME::someStaticMethods();
}
它肯定开始看起来很丑:(
那么有没有可能以任何方式 typedef 模板参数,以便它可读...类似的东西
typedef template < typename ABIGCLASSNAME, typename BBIGCLASSNAME, typename CBIGCLASSNAME, typename DBIGCLASSNAME > TEMP_WITH_PARAMS
和类类似的东西除了使用#define
【问题讨论】: