注意string.size()的返回类型在大多数时候都是一个无符号的值,在vs2010上实验是usinged int,如果拿来做运算会自动将int转换成unsinged int
string s ;
cin>>s;
int n = -1;
bool test = (int(s.size())<n);
cin>>s;
int n = -1;
bool test = (s.size()<n);
这两种情况完全不同,如果没有强制转换,n会被转换为一个很大的正整数.
string s ;
cin>>s;
int n = -1;
bool test = (int(s.size())<n);
cin>>s;
int n = -1;
bool test = (s.size()<n);
这两种情况完全不同,如果没有强制转换,n会被转换为一个很大的正整数.