我剛碰到一個非常奇怪的問題。我具備的功能很簡單: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