似乎联合可以在 c++11 中模板化,它们用于例如std::Optional 的参考实现 https://github.com/akrzemi1/Optional/blob/master/optional.hpp.
在 c++11 之前这可能吗?
是的,似乎这一直是被允许的。联合是一个类,模板是函数或类模板。
标准的相关部分:
-
[temp]
The 宣言 in a 模板声明 shall
— 声明或定义函数或类,[...]
-
[class]
A union是用 class-key 定义的类union
(所以有人可能会说,新的类型特征std::is_class http://en.cppreference.com/w/cpp/types/is_class有点用词不当;这些特征应该划分类型的空间,所以is_union
是一个单独的、相互排斥的特征。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)