以下是守则:
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是什么?我知道模板函数的含义。这是模板结构还是类似的东西?
发布于 2019-11-19 16:02:06
想知道,这个模板是什么构造别名。我知道模板函数的含义。这是模板结构还是类似的东西?
事情就是这样的。
具体来说,该行是一个前向声明,允许在实际定义结构中的内容之前在函数中使用模板结构。
以下一行:
<typename From, typename Tag> struct Alias final { ...... }实际上定义了模板结构中的内容。
模板结构的工作方式类似于模板函数,因为编译器在需要时生成结构的特定情况。与函数一样,模板结构作为编译器在需要时从蓝图生成类的蓝图。
https://stackoverflow.com/questions/58936977
复制相似问题