Ch4 C++标准库的周边设施
泛用hashfunction
利用C++11推出的可变模板和模板特化的设计, 下面是这门课给出的一个比较泛用的hash函数的实现, 这个函数是递归模板函数的一种典型情况,...值得学习.
// 首先是模板函数的入口, 这一系列函数都是模板重载的范例
// 这里用到了可变模板参数, 通过三个点(...)的标识, 可以传入任意数量的参数
template 可变数量的参数, 这是递归的主要部分
template
// 通常传到这里的时候seed之后的参数数量都是不定的, 由于可变模板参数的设计
// 这里编译器会自动进行切分, 将可变参数的第一个区分出来, 然后剩余的继续传递
// 这种写法在C+..._do_something();
}
}
}
tuple
tuple也是C++11的新特性, 可以暂称为"数据组合", 可以以模板参数的形式接受任意类型任意数量的元素, 组合为一个