-5

谁能帮我用程序重载 < 和 > 来比较两个字符串。

4

1 回答 1

0

在 C++ 中有不同的东西可以称为字符串,std::string是主要的,并且已经提供了这些运算符。C 风格的以空字符结尾的字符串是另一种形式,而字符串文字又是另一种形式。对于后两者,您不能重载operator<or operator>,因为您只能重载用户定义类型的运算符。

即使您被允许重载运算符,它们也会以晦涩难懂的方式行为不端,因为const char*(或char*就此而言)的关联命名空间集是空的,如果参数依赖查找在之前找到不同的运算符,它将无法找到您的重载定期查找。

于 2013-10-21T13:06:11.237 回答