Was bedeutet die Verwendung des zweiten Parameters mit einem Komma im folgenden Code?Was bedeutet neu int [25,2]?
int *num = new int[25,2];
Was bedeutet die Verwendung des zweiten Parameters mit einem Komma im folgenden Code?Was bedeutet neu int [25,2]?
int *num = new int[25,2];
Das ist die comma operator in Aktion ist: Es wertet es Operand ist und gibt die letzte, in Ihrem Fall 2. ist also, dass gleichwertig mit:
int *num = new int[2];
Es ist wahrscheinlich sicher, dass die 25,2
zu sagen Teil war nicht, was beabsichtigt war, es sei denn, es ist eine Trickfrage.
Bearbeiten: Danke Didier Trosset.
Das ist der Komma-Operator in Aktion ist: Es wertet es Operand ist und gibt die letzten ein, in Ihrem Fall 2 ist also, dass gleichwertig mit:
int *num = new int[2];
Bitte beachten Sie, dass der Text der Posts auf SO mit einer Lizenz veröffentlicht wird, die eine Zuordnung erfordert. Sie können kopieren und einfügen, aber Sie sollten die Quellen angeben. – avakar
Eugen Dinca hat genau 2 Minuten vor Ihnen die gleiche Antwort geschrieben. Ich bin mir nicht sicher, ob er seine Antwort erneut posten soll, um ein Wort zu korrigieren, ist effizienter (und eleganter), als nur den Fehler aufzuzeigen, damit er seine Antwort korrigieren kann. – ereOn
Ich dachte nicht, dass ich die Antworten anderer ändern könnte. Ich habe den Fehler zuerst auf einen Kommentar hingewiesen, Sie können ihn sehen, und ein paar Minuten später kopierte er seine Antwort, um sie zu korrigieren. Mit meiner Entschuldigung für das nicht korrekte Verhalten. –
Sie den Komma-Operator verwenden, das ist Machen Sie den Code etwas, das Sie auf den ersten Blick nicht erwarten würden.
Der Kommaoperator wertet den LHS-Operanden aus, wertet dann den RHS-Operanden aus und gibt ihn zurück. So im Fall von 25, 2
wird es bewerten 25
(nichts zu tun), dann bewerten und 2
zurückkehren, so dass Codezeile entspricht:
int *num = new int[2];
// Deklarieren Sie ein eindimensionales Array
int [] array1 = neuer int [5];
// Declare and set array element values
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a array
int[][] Array = new int[6][];
// Set the values of the first array in the array structure
Array[0] = new int[4] { 1, 2, 3, 4 };
Kompiliert das überhaupt? –
Ja, es ist vollkommen legal Code (leider) –
Aber beachten Sie, dass 'new (int [25, 2])' ist kein Gesetz. –