C++

C++ 中string 对象比较

内容概要: C++ string 字符串比较

C++中, 关系操作符在比较两个string 对象时, 采用了大小写敏感的字典排序策略

  1.  如果连string 对象长度(size)不同, 且短的string 对象和长的string 对象的前面部分相匹配,则短的string 对象小于长的string 对象;
  2.  如果两个string 对象的字符不同, 则比较第一个不匹配的字符。

其实上面规则可以统一为: 比较第一个不相同的字符,谁的ASCII 值大,则这个string 就大

例如:

string A = "hello";
string B = "hello world";
string C ="Hiya";

比较A和B, 第一个不相同的字符A是结束符,即ASCII 0, B是空格,即 ASCII 20,  所以认为 A < B ;

比较B和C, 第一个不同的字符B是e , C是i , 所有认为B< C

所有上面三个string对象的关系是 A< B < C;

附:

ASCII码值:http://baike.baidu.com/link?url=8YKzNus8c-3evXnlioYhyVezwUcGFOhnUmueJHyyt9f2AjnA-oyfuR2UsigQU325
————————————————

本文首发于CSDN:
原文链接:https://blog.csdn.net/xiaoyaohuqijun/article/details/48013391

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top