模板类collate的声明形式为:
类collate<charT>提供使用collation和hashing处理字符串的特性。本地成员函数模板operator()使用collate刻面,目的是允许一个locale对象直接作为处理字符串的标准算法和容器的预测参数。实例化类collate<char>和collate<wchar_t>可以应用于字典式(lexico-graphic)排序。
1.类collate的成员
函数的作用是:按照各自刻面定义的规则比较两个字符串是否相等。参数(low1,high1)是参与比较的第一个序列;参数(low2,high2)是参与比较的第二个序列。函数返回值一般有3种可能:-1、0和1。如果第一个序列小于第二个序列,函数返回-1;如果第一个序列等于第二个序列,函数返回0;如果第一个序列大于第二个序列,函数返回1。
函数的作用:一个字符序列从locale类对象到字符串string的转换可能被用于字典式和相同类locale的另一字符序列的比较。参数low和参数high代表已转换序列的起始字符。函数返回值包含了被转换的字符序列。
hash()函数会按照刻面的规则,判断序列的散列值。参数low和参数high代表输入序列的起始位置和结束位置。
2.类collate的虚函数
如果第一个字符串大于第二个字符串,函数返回1;如果第一个字符串小于第二个字符串,函数返回-1;如果第一个字符串相等第二个字符串,函数返回0。实例化类collate<char>和collate<wchart>可以实施字典式排序。(www.xing528.com)
函数返回值类型是basic_string<charT>。比较方式是字典式比较。
函数返回值是整型值,其值等于调用hash()函数的结果。
3.模板类collate_byname
例12-11
例12-11的执行效果如图12-1所示。
图12-1 例12-1的执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。