2016-08-15 3 views
-6

Ich kenne den Unterschied zwischen 9 und '9' ..., dass eine als Integer 9 und die andere als ein Zeichen 9 mit einem bestimmten ASCII-Wert gespeichert wird, aber was ist die Bedeutung von "" in C++?
Ich bin ein Anfänger, also weiß ich nur, dass die "" beim Schreiben von cin >> und cout verwendet werden < < aber was ist noch seine Bedeutung in der Programmiersprache und welche Bedeutung hat "9"?Was ist der Unterschied zwischen 9, 9 und 9?

+0

Sie müssen über Strings lernen. – SLaks

+3

Einfache Anführungszeichen für Zeichenliterale, doppelte Anführungszeichen für Zeichenfolgen. Sie benötigen wahrscheinlich [ein gutes Anfängerbuch] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list). –

+2

Doppelte Anführungszeichen sind * String-Literale *. Bitte kaufen Sie ein einführendes Buch über C++, oder arbeiten Sie durch Tutorials, bevor Sie Fragen zu den Sprachgrundlagen stellen. –

Antwort

2

9 ist ein Literal vom Typ int.

'9' ist ein Literal vom Typ char.

„9“ ist ein literal vom Typ const char[2]: Das erste Element ist die Zeichen 9 (der tatsächliche numerische Wert auf der verwendeten Codierung den Compiler abhängt, wenn ASCII- verwendet wird - was üblich ist - dann ist der Wert 57), der zweite ist der Null-Terminator.

+2

s/'char [2]'/'const char [2]' – NathanOliver

+0

@NathanOliver Interessant. Ich weiß nichts über C++, aber ich bin mir sicher, dass das in C nicht stimmt. Andernfalls würde 'char * p =" was auch immer ";' mit "... discards const qualifier" nicht kompilieren. –

+2

@ JonathonReinhart In C++ 'char * p =" was auch immer ";' sollte nicht mit einem standardkonformen Compiler kompilieren. Alle String-Literale sind "const". – NathanOliver