Ich arbeite an einem Code in C++, aber ich bin mir nicht sicher, was tut. Ich nahm an, dass der Wert in diesem Array um 1 erhöht wurde, aber ich bin mir nicht sicher.
Auch, was ist die Funktion von assert(0);
im Code? Vielen Dank für Ihre Hilfe!In C++, was bedeutet ein Inkrement zu einem 2D-Array? Was macht die Funktion assert (0)?
Der Codeblock ist:
for (i=0; i<1S; i++)
{
if (a[637][i] < a[637][15])
{
a[637][i]++;
if (a[637][i] == 15)
assert(0);
}
}
a[637][15] = 0;
Edit: Leider vergaß ich den Hintergrund zu erwähnen.
Die Definition von a
ist uint32_t a[2048][16];
also 637 und ich sind Werte aus einer bestimmten Schleife, um sie mit einem anderen 2D-Array zu vergleichen und dann wählen, welche Zeile zu vertreiben. Dies ist für eine Cache-Ersatz-Politik, aber ich war nur neugierig auf diese Fälle. Vielen Dank!
Ich würde vorschlagen, wer auch immer das schrieb. – crashmstr
Assert wird verwendet, um eine Gleichung auszuwerten und mit oder ohne eine Nachricht abzubrechen, wenn sie fehlschlägt. https://msdn.microsoft.com/en-us/library/9sb57dw4.aspx. – Nightforce2
Können Sie uns die Definition von Array a zeigen? assert ist eine c-Funktion, die die Kompilierung stoppt, wenn das Argument falsch ist (d. h. 0), es sei denn, Makro NDEBUG ist definiert. – Outshined