C ++ Cout überschreibt sich selbst während der for-Schleife

Die cout-Anweisung in dieser for-Schleife:

for (vector<Student>::iterator qw = students.begin(); qw != students.end(); ++qw){
    Student a = *qw;
    name = a.getName();
    regno = a.getRegNo();
    std::cout << "Name: "<< name << " Reg Number: " << regno << endl;
}

Verursacht ein merkwürdiges Verhalten, sollte das Cout etwa so aussehen:

Name: Mike Sanderson Reg Nummer: 10101

Was es aber tatsächlich druckt:

Reg Number: 10101on

Es scheint mir, dass nach dem zweiten Teil der cout-Anweisung zum Zeilenanfang zurückgekehrt wird und sich selbst überschrieben wird, aber warum? Hoffe ihr könnt mir helfen und wenn ihr mehr Infos braucht lasst es mich wissen!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage