Vector Segmentation fault
-
Kellerautomat schrieb:
Wozu push_back, wenn die Länge im Vorhinein bekannt ist?

Weil man weniger Tippen muss.
-
int tmp; cin >> tmp; v.push_back(tmp);... viel weniger Tipparbeit.

-
Kellerautomat schrieb:
int tmp; cin >> tmp; v.push_back(tmp);... viel weniger Tipparbeit.

Stimmt. Mein fehler.
Warum hat sich noch niemand über endl statt '\n' beschwert?
-
IrgendeinName schrieb:
Warum hat sich noch niemand über endl statt '\n' beschwert?
Was soll denn an endl nicht gut sein?
-
icarus2 schrieb:
Was soll denn an endl nicht gut sein?
endl flusht den Stream zusätzlich. Wenn man \n will, sollte man meiner Meinung auch \n sagen, da gebe ich IrgendeinName recht.
-
Wie macht man das denn mit \n ?
-
Und vielleicht noch eine frage, welchen unterschied macht es aus, ob ich ++k oder k++ nehme. Ich mein der unterschied an sich ist mir bekannt, aber was macht es aus, da man doch ++k nirgends ausgibt.
-
"Wie macht man das denn mit \n ?"
std::cout << foo << '\n';"[...]welchen unterschied macht es aus, ob ich ++k oder k++ nehme[...]"
k++ ist im prinzip nichts weiter als:
`int tmp=k;++k;
return tmp;`
in den meisten Fällen (auf jeden Fall bei skalaren Typen - also auch in deinem Fall), hat der Compiler keine Schwierigkeiten, die fällige Kopie wegzuoptimieren. Heutzutage wohl eher eine Prinzip-/Stilfrage als alles andere...bb
-
IrgendeinName schrieb:
Warum hat sich noch niemand über endl statt '\n' beschwert?
Weil endl hier richtig ist. Man möchte schließlich, dass die Frage vor der Antwort ausgegeben wird.
-
Namal schrieb:
[...] Das wird auch so kompiliert , allerdings bekomm ich beim ausführen "Segmentation fault" Fehlermeldung nachdem die erste Komponente eingegeben
Lies bitte die entsprechenden Dokumentationen:
http://www.josuttis.com/libbook/
sowie die Dokumentation Deines Compilers/der von dir verwendeten Standardbibliothek. Sowohl der MSVC als auch der GCC bietet einen Debugmodus der Standardbibliotheksimplementierung an, mit der du solche Benutzerfehler früher erkennen kannst.