C++中关系操作符(==)和std::string::compare()的区别
关系操作符(==) 和 std::string::compare() 对比
- 返回值:关系操作符返回布尔值,而compare()返回无符号整数。
- 形参:关系操作符只需要两个字符串进行比较,一个是被比较的,一个是引用的,而compare()可以接受不同的参数来执行相应的任务。
- 比较方法:关系操作符根据当前字符特征按字典顺序比较字符,而compare()可以为每个字符串处理多个参数,以便您可以根据索引和长度指定子字符串。
- 操作:我们可以使用compare()直接对string对象的一部分进行比较,否则使用关系操作符将会是一个相当长的过程。
例如:*将str1的第3位的3个字符与str2的第4位的3个字符进行比较。
使用compare()
输出:
使用关系操作符(==)
输出:
我们可以清楚地观察到在使用关系操作符时需要进行的额外处理。