So ive-Arrays auf diese Weise zu machen, aber ich einen Fehler gefunden, kann sagen, dass es eine Schleife ist, die durch das Element kopiert und Array-Element:Gibt es eine Möglichkeit, die Größe eines Arrays zu erhalten, ohne es manuell zu finden?
int v1[] = { 3, 4, 7, 8};
int v2[sizeof(v1)];
for (auto i = 0; i < sizeof(v2); ++i)
{
v2[i] = v1[i]
}
Das Array v2 wird die Größe von 4 ganzen Zahlen nicht hat, fügt sie alle auf. Also hätte v2 die Größe von 22 nicht 4 ganzen Zahlen. Also habe ich mich gefragt, ob es irgendeinen Weg gibt, die Größe eines Arrays zu finden, ohne zu dem Array gehen zu müssen und zu sehen, wie viele Elemente dort manuell sind. Gibt es einen Weg? Vielen Dank.
Ändern Sie einfach 'sizeof (v1)' und 'sizeof (v2)' in 'sizeof (v1)/sizeof (int)' und 'sizeof (v2)/sizeof (int)' oder 'sizeof (v1)/sizeof (v1 [0]) 'und' sizeof (v2)/sizeof (v1 [0]) ' – DimChtz
sizeof (v1) liefert die Gesamtgröße des Bytes des Speichers unter dem Array, nicht die Anzahl der ints. – Ivan