我刚碰到一个非常奇怪的问题。我具备的功能很简单:C++ string.length()奇怪的行为
int strStr(string haystack, string needle) {
for(int i=0; i<=(haystack.length()-needle.length()); i++){
cout<<"i "<<i<<endl;
}
return 0;
}
然后如果我叫strStr("", "a")
,虽然haystack.length()-needle.length()=-1
,这将不会返回0,你可以自己尝试一下......
@aslg没有,你可以试试大小()也一样,相同的行为。 – Arch1tect
@aslg根据[文档](http://en.cppreference.com/w/cpp/string/basic_string/size),它们没有区别。 – Sinkingpoint
长度和大小与我的知识相同。 'I = 0;我<= -1;我++需要一段时间才能到达退出案例。 – user4581301