C++ 为什么在输出的末尾会有额外的字符?

C++ 为什么在输出的末尾会有额外的字符?,c++,string,char,output,C++,String,Char,Output,为什么最后是6?我不知道为什么会发生这种情况,请帮助我temp[I]==temp.length()没有什么意义。“如果字符串中的字符具有与字符串长度相同的值”。如果(i==temp.length()),这可能是,这也是不可能的,因为当i>=temp.length()时,循环将终止。temp[i]==temp.length()没有多大意义。“如果字符串中的字符具有与字符串长度相同的值”。如果(i==temp.length()),则可能是,这也是不可能的,因为无论如何,当i>=temp.length

为什么最后是6?我不知道为什么会发生这种情况,请帮助我
temp[I]==temp.length()
没有什么意义。“如果字符串中的字符具有与字符串长度相同的值”。如果(i==temp.length())
,这可能是
,这也是不可能的,因为当i>=temp.length()时,循环将终止。
temp[i]==temp.length()
没有多大意义。“如果字符串中的字符具有与字符串长度相同的值”。如果(i==temp.length())
,则可能是
,这也是不可能的,因为无论如何,当i>=temp.length()时,循环将终止
std::end
将无法编译。事实上,现在我尝试了它,并没有得到编译错误。我吐了很多模板!我现在没有访问代码的权限,但是std中可能有一个独立的模板函数end()。使用命名空间std的另一个危险是
std::end
将无法编译。事实上,现在我尝试了它,并没有得到编译错误。我吐了很多模板!我现在无法访问代码,但std中可能有一个独立的模板函数end()。
400006
400006
<< end
<< endl