2012-04-04 20 views
1

Was bedeutet (char)0.Was bedeutet (char) 0 in C++?

Zum Beispiel was bedeutet das?

array[1] = (char)0; 
+0

Weist 0 dem Array-Element zu? Die Besetzung ist wahrscheinlich überflüssig. –

+0

Ihr Fragentitel sagt C++, aber Ihre Tags enthalten C. Was ist das? (Die Antwort unterscheidet sich, zumindest theoretisch, auf der Grundlage der Sprache.) –

+0

C++ (tut mir leid) – Ravindu

Antwort

5

Es ist ein C-Style-Besetzung. Das heißt, es konvertiert 0 (welches ein Literal des Typs int ist) in char (das \0-Zeichen). Diese Besetzung hätte vollständig vermieden werden können, indem einfach das '\0' Literal verwendet wurde.

+0

was ist der Zweck, das zu tun? – Ravindu

+0

Nicht in C, wo ''\ 0'' den Typ' int' hat. – dan04

+0

@ dan04 Die Frage sagt C++. –

2

Es ist 0 zu einem char gegossen, die '\0' ist.

+0

was genau passiert dabei? – Ravindu

+1

Im Allgemeinen nichts, da die Eingabe zwischen Zahlen (im Bytebereich) und Zeichen in C schwach ist. –

0

Sie sind Casting ein int (ganze Zahl) (0) zu einem Zeichen (char).

Gießen bedeutet, dass Sie den Typ ändern.