一句话理解
string 比较按字典序,像查字典一样逐个字符比。
为什么要学
排序单词、判断两串谁更小。
讲解
先比第一个不同的字符,ASCII 小的更小。都相同则短的更小:"ab" < "abc"。
== 判断完全相等。不要用 == 去比 C 风格两个 char* 的内容(那是比指针),string 可以。
大小写不同:"A" < "a",因为 65 < 97。
例子
cout << (string("ab") < string("ac")) << " ";
cout << (string("ab") == string("ab"));
输出:
1 1
ab 小于 ac;ab 等于 ab。
常见错误
- 把 “12” 和 “3” 当数字比。字典序 “12” < “3”。
- 长度不同却只比了前几个字符就下结论忘了短串规则。