【发布时间】:2021-08-26 00:07:04
【问题描述】:
我正在尝试定义一个具有许多参数的新类模板。为了编写一些方法(例如重载运算符),我想给模板类类型起别名。现在我正在这样做:
template <class T, int a, int b, int c, int d, int e, int f>
class ExampleClass {
using ExampleClassType = ExampleClass<T, a, b, c, d, e, f>;
// for example,
ExampleClassType operator+(const ExampleClassType& rhs) {
// ...
}
};
这种方法似乎是多余的,因为我将模板参数列表写了两次。有没有更好的办法?我天真地尝试过
using ExampleClassType = decltype(*this);
但这不起作用,我认为因为this 在编译时是未知的。
抱歉,如果这是一个重复的问题,我尝试搜索但没有找到任何具体的内容。
【问题讨论】: