首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是"template <typename From,typename Tag> struct;“在c++中?

什么是"template <typename From,typename Tag> struct;“在c++中?
EN

Stack Overflow用户
提问于 2019-11-19 15:02:22
回答 1查看 136关注 0票数 0

以下是守则:

代码语言:javascript
复制
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是什么?我知道模板函数的含义。这是模板结构还是类似的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-19 16:02:06

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

事情就是这样的。

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

以下一行:

代码语言:javascript
复制
<typename From, typename Tag> struct Alias final { ...... }

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

模板结构的工作方式类似于模板函数,因为编译器在需要时生成结构的特定情况。与函数一样,模板结构作为编译器在需要时从蓝图生成类的蓝图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58936977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档