2017-08-26 5 views
12

Ich bin neu in C++, ich sehe folgende Syntax in C++, um Variable zu initialisieren.Was bedeutet "int (i) = 1;"?

int(i)=1; 

Dann habe ich in G ++ kompiliert Compiler und Compiler gab keinen Fehler oder Warnung.

Also, Was bedeutet int(i)=1; in C und C++?

Auch habe ich in C getestet, dachte ich, der C-Compiler gibt einen Fehler, aber es funktioniert auch gut.

+1

Warum fügen Sie das Tag [tag: c] hinzu? C und C++ sind sehr verschiedene Sprachen –

+1

@ LưuVĩnhPhúc Weil es auch in C funktioniert. –

+0

@Mahendra Nichtsdestotrotz könnte etwas, das in beiden Sprachen * funktioniert * sehr unterschiedliche Verhaltensweisen und Gründe haben. In diesem Fall ist es in Ordnung, aber bedenke, dass sie wirklich unterschiedlich sind. – deviantfan

Antwort

15

Es ist im Grunde eine seltsame Art und Weise

int i = 1; 

nichts zu schreiben, zu kümmern.

Manchmal sind Klammern in den Definitionen (zB Zeiger auf Funktionen) um den Variablennamen notwendig, und es gibt keinen Grund, sie für andere Fälle zu verbieten, so ist es ohne tieferen Grund erlaubt.
Maythe der Autor mochte keine Leerzeichen (solche Leute existieren).

+1

'(solche Leute existieren)' Das Wort, das du suchst, ist "Codegolfer". –

+7

FWiW, 'int i = 1' ist kürzer als' int (i) = 1' –

+0

@SilvioMayolo Ich suchte mehr nach etwas Offensivem, das ich nicht buchstabieren wollte ... Code Golf ist in Ordnung, aber nicht für Arbeit usw. – deviantfan