#include <cstring>
#include <string>
#include <iostream>
using namespace std;
int main() {string stringStr1 = "42";string stringStr2 = "42";string stringStr3 = "213";cout << "stringStr1: " << stringStr1 << " " << "&stringStr1 :" << &stringStr1 << endl; cout << "stringStr2: " << stringStr2 << " " << "&stringStr2 :" << &stringStr2 << endl; cout << "stringStr3: " << stringStr3 << " " << "&stringStr3 :" << &stringStr3 << endl; bool stringStr1_stringStr2 = stringStr1 == stringStr2;cout << "stringStr1 == stringStr2: " << stringStr1_stringStr2 << endl; bool stringStr1_stringStr3 = stringStr1 > stringStr3;cout << "stringStr1 > stringStr3: " << stringStr1_stringStr3 << endl; bool stringStr1_stringStr3_compare = stringStr1.compare(stringStr3);cout<<"stringStr1.compare(stringStr3): "<<stringStr1.compare(stringStr3)<<endl; cout<<"------------------------------------------------------------------"<<endl;char* charStr1 = "42";char* charStr2 = "42";char* charStr3 = "213";cout << "charStr1: " << charStr1 << " " << "(void*)charStr1 :" << (void*)charStr1 << endl; cout << "charStr2: " << charStr2 << " " << "(void*)charStr2 :" << (void*)charStr2 << endl; cout << "charStr3: " << charStr3 << " " << "(void*)charStr3 :" << (void*)charStr3 << endl; cout << "charStr1: " << charStr1 << " " << "&charStr1 :" << &charStr1 << endl; cout << "charStr2: " << charStr2 << " " << "&charStr2 :" << &charStr2 << endl; cout << "charStr3: " << charStr3 << " " << "&charStr3 :" << &charStr3 << endl; cout << "charStr1: " << charStr1 << " " << "*charStr1 :" << *charStr1 << endl; cout << "charStr2: " << charStr2 << " " << "*charStr2 :" << *charStr2 << endl; cout << "charStr3: " << charStr3 << " " << "*charStr3 :" << *charStr3 << endl; bool charStr1_charStr2 = charStr1 == charStr2;cout << "charStr1 == charStr2: " << charStr1_charStr2 << endl; bool charStr2_charStr3 = *charStr2 == *charStr3;cout << "*charStr2 == *charStr3: " << charStr2_charStr3 << endl; bool charStr1_charStr3 = charStr1 > charStr3;cout << "charStr1 > charStr3: " << charStr1_charStr3 << endl; bool charStr1_charStr3_strcmp = strcmp(charStr1,charStr3);cout << "strcmp(charStr1,charStr3): " << charStr1_charStr3_strcmp << endl; int a = "42" > "213";int b = strcmp("42" , "213"); cout<<"'42' > '213': "<<a<<endl;cout<<"strcmp(\"42\" , \"213\"): "<<b<<endl;return 0;
}
- string对象之间直接用>或<进行比较是按照字符顺序逐个比较;
- char*类型的字符串之间直接用>或<比较的话,比的只是地址,用strcmp()方法的话也是诸逐个字符进行比较。