Viele C++-Bücher enthalten Beispielcode wie diesen...
std::cout << "Test line" << std::endl;
...also habe ich das auch immer gemacht. Aber ich habe stattdessen eine Menge Code von arbeitenden Entwicklern gesehen, der so aussieht:
std::cout << "Test line\n";
Gibt es einen technischen Grund, das eine dem anderen vorzuziehen, oder ist es nur eine Frage des Codierungsstils?
15 Stimmen
Gute Erklärung: cppkid.wordpress.com/2008/08/27/warum-ich-das-stdendl-vorziehe
32 Stimmen
@derobert dieser ist älter als der andere
8 Stimmen
@HediNaily in der Tat ist es. Aber die Antwort auf die andere scheint mir etwas besser zu sein, also habe ich mich dafür entschieden, es so zu machen. Außerdem ist die andere etwas breiter angelegt und deckt auch
'\n'
.0 Stimmen
Wenn Sie beabsichtigen, Ihr Programm auf etwas anderem als Ihrem eigenen Laptop laufen zu lassen, verwenden Sie niemals die
endl
Aussage. Vor allem, wenn Sie viele kurze Zeilen oder, wie ich oft gesehen habe, einzelne Zeichen in eine Datei schreiben. Die Verwendung vonendl
ist bekannt dafür, vernetzte Dateisysteme wie NFS zu zerstören.0 Stimmen
stackoverflow.com/a/30968225/3163618 kann es einen erheblichen Leistungsunterschied geben.