为什么string类的对象可以与字符串比较大小呢?
发布网友
发布时间:2022-05-15 21:42
我来回答
共3个回答
热心网友
时间:2023-08-02 06:56
1 string类重载了与string相比较的所有函数,包括<,>,==,>=,<=,!=。
2 string类有一个构造重载是以char*为参数的。即将字符数组转换为字符串类string。
由于1,string类可以与本身类型的字符串string相比较。
由于2,在string类对象与char*变量相比较的时候,系统会自动生成一个string类型临时对象,以char*变量构造,并与string类对象比较。
所以string类对象可以与任意字符串相比较。
热心网友
时间:2023-08-02 06:57
C++的标准库里面为string重载了大于小于等于等运算符,除了
bool operator==(const string&s1,const string&s2);
这种之外,还有
bool operator==(const string&s1,const char* s2);
bool operator==(const char* s1,const string& s2);
的重载方式所以可以支持与传统字符串比较。加好,大于小于之类的运算符也是如此。。
参考资料:http://wenku.baidu.com/view/58eb4ad3240c844769eaee8a.html
热心网友
时间:2023-08-02 06:57
因为都是比较ascii码