首页 理论教育 STL模板类collate使用及解析

STL模板类collate使用及解析

时间:2023-10-25 理论教育 版权反馈
【摘要】:模板类collate的声明形式为:类collate<charT>提供使用collation和hashing处理字符串的特性。

STL模板类collate使用及解析

模板类collate的声明形式为:

978-7-111-51399-5-Chapter12-147.jpg

类collate<charT>提供使用collation和hashing处理字符串的特性。本地成员函数模板operator()使用collate刻面,目的是允许一个locale对象直接作为处理字符串的标准算法容器的预测参数。实例化类collate<char>和collate<wchar_t>可以应用于字典式(lexico-graphic)排序。

1.类collate的成员

978-7-111-51399-5-Chapter12-148.jpg

函数的作用是:按照各自刻面定义的规则比较两个字符串是否相等。参数(low1,high1)是参与比较的第一个序列;参数(low2,high2)是参与比较的第二个序列。函数返回值一般有3种可能:-1、0和1。如果第一个序列小于第二个序列,函数返回-1;如果第一个序列等于第二个序列,函数返回0;如果第一个序列大于第二个序列,函数返回1。

978-7-111-51399-5-Chapter12-149.jpg

函数的作用:一个字符序列从locale类对象到字符串string的转换可能被用于字典式和相同类locale的另一字符序列的比较。参数low和参数high代表已转换序列的起始字符。函数返回值包含了被转换的字符序列。

978-7-111-51399-5-Chapter12-150.jpg

hash()函数会按照刻面的规则,判断序列的散列值。参数low和参数high代表输入序列的起始位置和结束位置。

2.类collate的虚函数

978-7-111-51399-5-Chapter12-151.jpg

如果第一个字符串大于第二个字符串,函数返回1;如果第一个字符串小于第二个字符串,函数返回-1;如果第一个字符串相等第二个字符串,函数返回0。实例化类collate<char>和collate<wchart>可以实施字典式排序。(www.xing528.com)

978-7-111-51399-5-Chapter12-152.jpg

函数返回值类型是basic_string<charT>。比较方式是字典式比较。

978-7-111-51399-5-Chapter12-153.jpg

函数返回值是整型值,其值等于调用hash()函数的结果。

3.模板类collate_byname

978-7-111-51399-5-Chapter12-154.jpg

例12-11

978-7-111-51399-5-Chapter12-155.jpg

978-7-111-51399-5-Chapter12-156.jpg

例12-11的执行效果如图12-1所示。

978-7-111-51399-5-Chapter12-157.jpg

图12-1 例12-1的执行效果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈