cin - char[] int[]
-
Hallo
Wiso ist das so?
char c[5]; cin >> c; // Das hier geht int i[5]; cin >> i; // Das hier geht nichtKann man es dadurch erklären, dass der Compiler dies bei Character arrays einfach zulässt?
Bin für jede Antwort dankar!
-
Schau dir mal die Überladungen für den istream >> Operator an:
http://www.cplusplus.com/reference/iostream/istream/operator>>/istream& operator>> (istream& is, char* str );Deswegen kannst du ein char-Array übergeben. Bei einem einem string wie "hallo" sind alle Buchstaben einzelne Chars. Ein integer Wert kann aber mehrstellig sein, aber trotzdem brauch man kein Array. Wie erwartest du denn, wie die Eingabe für ein integer-Array sein sollte? Man müsste ja mehrere Werte bei der Eingabe angeben. Daher macht das keinen Sinn.
-
Mir ist schon klar das es keinen Sinn machen würde wie beim char-Array, aber wunderte mich wiso es da funktioniert und bei einem integer-Array bsp. nicht.
Bin jezt dem Link gefolgt und sehe da die Methoden, so macht das ganze jezt Sinn
Bin eben noch bei den Grundlagen...Vielen Dank FreakY<3Cpp