首页 理论教育 C++string比较技巧

C++string比较技巧

时间:2023-08-20 理论教育 版权反馈
【摘要】:string支持关系操作符。string的大于、小于判断会对每个对应的字符分别做比较,出现不匹配的情况立刻返回结果。我们用一个示例进行说明:动手写5.2.6动手写5.2.6展示了string的比较。运行结果如图5.2.6所示:图5.2.6string的比较这个小程序支持输入,读者可以输入两个任意的字符串来加深对字符串比较规则的理解。

C++string比较技巧

string支持关系操作符。string的相等和不等判断有些类似于vector,都需要判断所有字符是否相等。只要有一个字符不等或者某一个字符串多一个字符,那么string就不相等。

string的大于、小于判断会对每个对应的字符分别做比较,出现不匹配的情况立刻返回结果。其中,字符的比较使用了字典顺序,也就是依次比较字符串中每个字符的ASCII码值大小,一样的话则继续比较下一个。我们用一个示例进行说明:

动手写5.2.6

动手写5.2.6展示了string的比较。注意:这个示例中我们使用了将字符串字面量赋值给string的方法来初始化空字符串。运行结果如图5.2.6所示:

(www.xing528.com)

图5.2.6 string的比较

这个小程序支持输入,读者可以输入两个任意的字符串来加深对字符串比较规则的理解。笔者在这里输入了3对字符串,分别展示了字符串比较的3个规则:

1.字符串比较区分大小写,而大写字母比小写字母小(符合ASCII码的顺序)。

2.字符串不等长,但是在短的字符串与长的字符串的前一部分完全相等的情况下,短的string小于长的string。

3.遇到第一对不匹配的字符时就立刻返回按字典顺序比较的结果。

在这里c和csharp的开头都是c,因此长的csharp更大。csharp和cplusplus的第一个字符都是c,就继续看第二个字符,由于s比p大,因此csharp大于cplusplus。

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

我要反馈