完全如主题中所述:我可以在 C++ 中按>
,比较字符串吗?<
我没有收到任何错误,但不确定我是否总是能得到好的结果?
string a = "aabbsd", b= "bsdds";
cout<<(a<b);
结果只是运气?
完全如主题中所述:我可以在 C++ 中按>
,比较字符串吗?<
我没有收到任何错误,但不确定我是否总是能得到好的结果?
string a = "aabbsd", b= "bsdds";
cout<<(a<b);
结果只是运气?
是的你可以。没有错。唯一需要注意的是,操作的复杂性是线性的。
这将触发字典比较。从cppreference:
operator==,!=,<,<=,>,>=(std::basic_string)
C++ Strings library std::basic_string
template< class T, class Alloc >
bool operator==( basic_string<T,Alloc>& lhs, basic_string<T,Alloc>& rhs );
(1)
template< class T, class Alloc >
bool operator!=( basic_string<T,Alloc>& lhs, basic_string<T,Alloc>& rhs );
(2)
template< class T, class Alloc >
bool operator<( basic_string<T,Alloc>& lhs, basic_string<T,Alloc>& rhs );
(3)
template< class T, class Alloc >
bool operator<=( basic_string<T,Alloc>& lhs, basic_string<T,Alloc>& rhs );
(4)
template< class T, class Alloc >
bool operator>( basic_string<T,Alloc>& lhs, basic_string<T,Alloc>& rhs );
(5)
template< class T, class Alloc >
bool operator>=( basic_string<T,Alloc>& lhs, basic_string<T,Alloc>& rhs );
(6)
比较两个字符串的内容。
1-2) 检查 lhs 和 rhs 的内容是否相等,即 lhs.size() == rhs.size() 并且 lhs 中的每个字符在 rhs 中的相同位置都有相同的字符。
3-6) 按字典顺序比较 lhs 和 rhs 的内容。比较由等效于 std::lexicographical_compare 的函数执行。