Gibt es in C++ irgendwelche Garantien für die Reihenfolge, in der Array-Elemente konstruiert werden?C++ - Array-Elemente Reihenfolge der Konstruktion
#include <iostream>
using namespace std;
struct A {
A() { cout << this << endl; }
};
int main()
{
cout << "[0] is " << new A[3];
}
druckt
0x602010
0x602011
0x602012
[0] is 0x602010
was impliziert, dass die Elemente in der Sequenz konstruiert wurden [0], [1] und [2]. Wird diese Reihenfolge von der Sprache garantiert?
Arrays sind einfach zusammenhängende Stellen im Speicher, wobei jedes Element in der Anordnung von ((Ort des ersten Elements zugegriffen wird aufgerufen des Arrays) + (tiefgestellt * sizeof (was auch immer t es ist))), also würde ich ja sagen – jonhopkins
Ja. Ich würde eine Antwort darauf geben, aber dann müsste ich nach einer Referenz suchen, und ich habe jetzt keine Lust, das zu tun. –