Esistono garanzie in C++ sull'ordine in cui vengono costruiti gli elementi dell'array?Elementi di array C++ ordine di costruzione
#include <iostream>
using namespace std;
struct A {
A() { cout << this << endl; }
};
int main()
{
cout << "[0] is " << new A[3];
}
stampe su
0x602010
0x602011
0x602012
[0] is 0x602010
che implica che gli elementi sono stati costruiti nella sequenza [0], [1] e [2]. L'ordine è garantito dalla lingua?
array sono semplicemente posizioni contigue in memoria in cui ogni elemento dell'array si accede da ((posizione del primo elemento dell'array) + (pedice * sizeof (qualunque sia t sì è))), quindi direi di si – jonhopkins
Sì. Ne ricaverei una risposta, ma poi dovrei cercare un riferimento, e non ho voglia di farlo adesso. –