traits编程技法大量运用于STL实现中。通过它在一定程度上弥补了C++不是强型别语言的遗憾,增强了C++关于型别认证方面的能力。traits编程技法是利用“内嵌型别”的编程技法和编译器的template参数推导功能实现的。iterator_traits1.对于class
type要求其“内嵌型别...
分类:
其他好文 时间:
2014-04-29 21:32:10
阅读次数:
672
最近在看读《STL源码剖析》,看到Traits编程技法这节时,不禁感慨STL源码作者的创新能力。那么什么是Traits编程技法呢?且听我娓娓道来:
我们知道容器的许多操作都是通过迭代器展开的。其中容器类似于数组,迭代器类似于指针。我们用数组来写个例子:1 int arr[5] = {1,2,3...
分类:
其他好文 时间:
2014-04-29 18:15:15
阅读次数:
463
在STL的queue 或者
vector、list等容器适配器或者容器中,会经常用到的函数就是push()或者push_back()函数,但是有一点需要明确的是:在使用这些函数对容器/适配器对象增加新元素的时候,实际上是对原有的元素对象复制重新新建了一个元素对象作为元素压入到容器/适配器对象中。例如...
分类:
其他好文 时间:
2014-04-29 09:43:46
阅读次数:
1521
本文从三方面总结迭代器 迭代器的思想 迭代器相应型别及traits思想
__type_traits思想一 迭代器思想
迭代器的主要思想源于迭代器模式,其定义如下:提供一种方法,使之能够依序巡防某个聚合物(容器)所含的元素,而又无需暴露该聚合物的内部表达式。可见她的主要作用便是能够降低耦合,提高代码....
分类:
其他好文 时间:
2014-04-29 09:13:47
阅读次数:
378
支持泛型AVL Tree的简单实现,并和STL map比较了插入,删除,查找的性能...
分类:
其他好文 时间:
2014-04-27 19:43:40
阅读次数:
400