1-一個萬用的hash_function
基本思想:將所需要計算哈希值的對象中所有基礎(chǔ)類型的哈希值相加所得
自己編寫的hash_function的三種實現(xiàn)方式
1呀忧、仿函數(shù)
class MyTypeHash{
size_t operator() (const MyType& m) const {
return ……
}
};
2淡喜、獨立函數(shù)
size_t my_type_hash_function (const MyType& m){
return ……
}
3、標(biāo)準(zhǔn)庫hash的偏特化形式
namespace std{
template<>
struct hash<MyTypeHash>{
size_t operator() (const MyType& m) const {
return ……
}
}
}
2-Tuple用例
tuple的實現(xiàn)方法使用了variadic template,與一般在函數(shù)中使用variadic template的方法類似。tuple通過繼承疫向,使得子類在構(gòu)造tuple對象時侮叮,不斷的通過繼承去調(diào)用父類的構(gòu)造函數(shù)姿搜,直到最后一層剩下0個參數(shù)去調(diào)用空的偏特化版本笤昨,與遞歸相類似。
3-Type Traits
POD(plain old data):沒有實現(xiàn)拷貝構(gòu)造等函數(shù)的對象停士。
4-Type traits實現(xiàn)
5-cout
6-moveable元素對于deque速度效能的影響
7-測試函數(shù)
移動拷貝與默認(rèn)拷貝的區(qū)別:對于指針變量肚医,移動拷貝在把原有指針拷貝到目的指針的同時,將原有指針置為NULL向瓷,而默認(rèn)拷貝并沒有這個動作肠套。