string s = "abc";
int i = -1;
cout<<(i < s.length());
在这种情况下返回false。为什么?
但是当我写
string s = "abc";
int i = 0;
cout<<(i < s.length());
返回true
问题是你正在比较int和size_t,正如Botje和Jana Doe指出的那样。解决方案是ChrisMM指出的:
i应该定义为size_t,而不是int。