C++ 中的"template <typename From, typename Tag> struct Alias;"是什么?

What is "template <typename From, typename Tag> struct Alias;" in c++?

本文关键字:typename struct gt Alias 是什么 Tag lt 中的 C++ From template      更新时间:2023-10-16

以下是代码:

namespace o
{
template <typename From, typename Tag> struct Alias;
template <typename From, typename Tag>
inline std::ostream &operator<<(std::ostream &stream, const Alias<From, Tag> &inst);
template <typename From, typename Tag> struct Alias final
{ ...... } 
}

我想知道,这个template <typename From, typename Tag> struct Alias是什么。我知道模板函数的含义。这是一个模板结构还是类似的东西?

想知道,这个模板结构Alias是什么。我知道模板函数的含义。这是一个模板结构还是类似的东西?

就是这样。

具体来说,这一行是一个正向声明,允许您在实际定义结构中的内容之前,在函数中使用模板结构。

以下线路:

<typename From, typename Tag> struct Alias final { ...... }

实际上定义了模板结构中的内容。

模板结构的工作原理与模板函数类似,因为编译器在需要时生成结构的特定用例。与函数一样,模板结构充当编译器的蓝图,以便在需要时从蓝图生成类。

相关文章: