我知道typedef
的用法,但我不明白何时以及如何使用this_type
?
template<typename T>
class Foo
{
public:
typedef Foo<T> this_type;
// ...
};
它的用法示例或链接也会非常有帮助。
最佳答案
它的用例非常狭窄,可能只是为了代码库的清晰度和一致性; this_type
可能是比 Foo<T>
更好的描述在可能缺乏上下文的代码中(无论出于何种原因)。因此,它看起来更像是个人或公司风格,而不是任何特定的技术要求。值得一提的是这个名字 Foo
已经适用。
另一种情况可能是关于Foo<T>
之间的区分要清楚还有一些Foo<U>
- 但同样,使用将受到限制(例如转换构造函数)。
关于c++ - 自身内部模板化类的 Typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38718087/