STL与泛型编程 Week5 (Boolan) by Im4lish

1-一个万用的hash_function
基本思想:将所需要计算哈希值的对象中所有基础类型的哈希值相加所得
自己编写的hash_function的三种实现方式
1、仿函数

class MyTypeHash{
    size_t operator() (const MyType& m) const {
          return ……
     }
};

2、独立函数

size_t my_type_hash_function (const MyType& m){
          return ……
     }

3、标准库hash的偏特化形式

namespace std{
    template<>
    struct hash<MyTypeHash>{
        size_t operator() (const MyType& m) const {
          return ……
         }
    }
}

2-Tuple用例
tuple的实现方法使用了variadic template,与一般在函数中使用variadic template的方法类似。tuple通过继承,使得子类在构造tuple对象时,不断的通过继承去调用父类的构造函数,直到最后一层剩下0个参数去调用空的偏特化版本,与递归相类似。
3-Type Traits
POD(plain old data):没有实现拷贝构造等函数的对象。
4-Type traits实现
5-cout

6-moveable元素对于deque速度效能的影响

7-测试函数
移动拷贝与默认拷贝的区别:对于指针变量,移动拷贝在把原有指针拷贝到目的指针的同时,将原有指针置为NULL,而默认拷贝并没有这个动作。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容