1.仿函数hash
仿函数类hash<T>是一种散列函数。STL中的所有散列关联容器(Hashed Associative Containers)均使用其作为默认的散列函数。
仿函数模板template hash<T>仅针对template参数型别为char∗、const char∗、string和integer而定义。若搭配不同的参数型别,需要提供自定义的template specialization,或提供新的hash函数类。
使用仿hash()函数需要包含头文件<hash_set>和<hash_map>。
仿函数没有基类。
该类的成员函数为size_thash::operator()(const T& x)const
运算符函数会返回参数x的散列值。
2.仿函数subtractive_rng
仿函数类subtractive_rng<T>是一种随机数发生器(Random number Generator)。使用减去法可以产生拟真乱数。仿函数是一种一元函数。通常参数可以是无符号整型数,函数可以返回一个小于该数值的无正负号整数。若连续调用同一个subtractive_rng对象,会产生一个拟真乱数序列。(www.xing528.com)
《泛型编程与STL》一书指出,subtractive_rng产生的数列完全是可决定的,由两个不同的subtractive_rng对象所产生的数列则互不相干。subtractive_rng产生的数值取决于其种子以及之前被调用的次数。
仿函数的基类是unary_function<unsigned int,unsigned int>
该仿函数类包含6个成员函数:
1)argument_type。该成员函数代表参数型别。
2)result_type。该成员函数代表执行结果的型别unsigned int。
3)subtractive_rng(unsigned int seed)。该成员函数代表仿函数类的构造器。
4)subtractive_rng()。该成员函数代表默认构造器。
5)unsigned int operator()(unsigned int seed)。该成员函数用于重新设定乱数产生器,使其内部状态恰好与“以seed值构造”的方式相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。