Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
谁能帮我用程序重载 < 和 > 来比较两个字符串。
在 C++ 中有不同的东西可以称为字符串,std::string是主要的,并且已经提供了这些运算符。C 风格的以空字符结尾的字符串是另一种形式,而字符串文字又是另一种形式。对于后两者,您不能重载operator<or operator>,因为您只能重载用户定义类型的运算符。
std::string
operator<
operator>
即使您被允许重载运算符,它们也会以晦涩难懂的方式行为不端,因为const char*(或char*就此而言)的关联命名空间集是空的,如果参数依赖查找在之前找到不同的运算符,它将无法找到您的重载定期查找。
const char*
char*