美文网首页
STL与泛型编程 Week5 (Boolan) by Im4li

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

作者: Im4lish | 来源:发表于2017-09-10 19:10 被阅读0次

    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,而默认拷贝并没有这个动作。

    相关文章

      网友评论

          本文标题:STL与泛型编程 Week5 (Boolan) by Im4li

          本文链接:https://www.haomeiwen.com/subject/sbstsxtx.html