如果我有两条字符数据,比较它们的最佳方法是什么(用
==
测试是否相等)?
也就是说,哪种类型最适合这种比较;一个
const char*
,一个std::string
?
如果您的目标只是比较字符串是否相等,那么使用以 null 结尾的字符串还是使用某些字符串容器(例如
std::string
)并不重要。
您可以使用
std::strcmp
比较两个以 null 结尾的字符串,就像使用 operator==
比较两个 std::string
对象一样容易。在大多数情况下,重载运算符确实使代码更清晰、更易于阅读。
当然,由于您正在使用 C++ 进行编程,因此您应该使用
std::string
或其他一些字符串容器,并且尽可能不要操作原始的以 null 结尾的数据。