![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++模板
文章平均质量分 83
zjulihaijian
这个作者很懒,什么都没留下…
展开
-
Traits on Steroids
在上期的Generic[1]中,我们讨论了traits模板和traits类。这篇文章进一步讨论traits对象和全层次(hierarchy-wide)traits。 Traits技术很有用,但是什么时候你需要这种非凡的灵活性呢?如果你用了traits,你怎么才能避免手工向现有类层次中的大量的类添加traits的苦差事呢?这篇文章以上一次的SmartPtr为例,解答这些问题。特别是介绍了全层次(转载 2009-07-13 17:42:00 · 321 阅读 · 0 评论 -
C++的模板及模板特化
说起C++的模板及模板特化, 相信很多人都很熟悉 ,但是说到模板特化的几种类型,相信了解的人就不是很多。我这里归纳了针对一个模板参数的类模板特化的几种类型, 一是特化为绝对类型; 二是特化为引用,指针类型;三是特化为另外一个类模板。 这里用一个简单的例子来说明这三种情况:// general versiontemplateclass T>class Compare{public: st转载 2009-07-13 16:48:00 · 270 阅读 · 0 评论 -
C++ Type traits
泛型编程编出来的代码,适用於任何「吻合某种条件限制」的资料型别。这已成为撰写可复用代码时的一个重要选择。然而,总有一些时候,泛型不够好 ─ 有时候是因为不同的型别差距过大,难以产生一致的泛化实作版本。这个时候 traits 技术就变得相当重要。这种技术可以将那些需要被纳入考量的型别性质以一种 type by type 的原则,封装於一个 traits class 内,於是可以将「由於型别之间的差异转载 2009-07-13 17:40:00 · 324 阅读 · 0 评论