Also ich lese, wenn Variablen in C++ deklariert werden, wenn Sie die optimalen Cache-Lesevorgänge erhalten möchten, sollte der Speicher an seiner natürlichen Ausrichtung bleiben. Beispiel:C++ Speicherausrichtung
int a; // memory address should end in 0x0,0x4,0x8,0xC
int b[2]; // 8 bytes 0x0,0x8
int b[4]; // 16 bytes 0x0
Aber in der Praxis diese Variablen nicht folgen den „natürliche Ausrichtung“ Regeln, ein 16-Byte-Variable wurde an einer Speicheradresse mit Wohnsitz in 0xC beendet. Warum ist das ?
Arrays nicht durch Ausrichtung betrifft, so sind nur einzelne Elemente – Quentin
der genaue Fall Website wollen Könnte –
Es gibt keinen Fall wirklich im nur experimentieren, alles, was ich, dass unabhängig von variabler Größe war finden konnte alle war es immer 4 Byte ausgerichtet, es sei denn, es war ein 1-Byte-Datentyp. Nur neugierig, warum. – Student123