首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工会可以模版吗?

工会可以模版吗?
EN

Stack Overflow用户
提问于 2013-12-23 12:27:30
回答 3查看 9.2K关注 0票数 29

联合似乎可以在c++11中模板化,例如在std的参考实现::可选中使用。

这在c++11之前有可能吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-23 12:33:01

是的,这似乎一直是被允许的。联合是类,模板要么是函数,要么是类模板。

标准的有关部分:

  • 临时 模板声明中的声明应 -声明或定义函数或类,.
  • 班级 联合是用类键union定义的类。

(因此,人们可能会认为,新类型的特征std::is_class有点用词不当;这些特征应该用来划分类型的空间,因此is_union是一个单独的、相互排斥的特征。)

票数 30
EN

Stack Overflow用户

发布于 2013-12-23 12:34:35

是的,一个特别有用的应用程序是将一个类型同时表示为一个字节数组:

代码语言:javascript
复制
template <typename T>
union test
{
    unsigned char ch[sizeof(T)];
    T variable;
};
票数 25
EN

Stack Overflow用户

发布于 2019-11-29 23:22:16

代替联合,还可以使用std::variant作为c++17 https://en.cppreference.com/w/cpp/utility/variant

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

https://stackoverflow.com/questions/20743582

复制
相关文章

相似问题

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