【发布时间】:2011-01-04 06:38:19
【问题描述】:
如果我有两个字符数据,比较它们的最佳方法是什么(用 == 测试相等性)?也就是说,哪种类型最适合这种比较?一个 const char*,一个字符串?
非常感谢
【问题讨论】:
标签: c++ string comparison character
如果我有两个字符数据,比较它们的最佳方法是什么(用 == 测试相等性)?也就是说,哪种类型最适合这种比较?一个 const char*,一个字符串?
非常感谢
【问题讨论】:
标签: c++ string comparison character
如果您的目标只是比较字符串是否相等,那么您是使用以 null 结尾的字符串还是使用像 std::string 这样的字符串容器并不重要。
您可以使用std::strcmp 比较两个以空字符结尾的字符串,就像使用operator== 比较两个std::string 对象一样容易。在大多数情况下,重载的运算符确实使代码更清晰、更易于阅读。
当然,由于您使用 C++ 进行编程,因此您应该尽可能使用 std::string 或其他字符串容器,而不是处理原始的以空值结尾的数据。
【讨论】: