Я заполняю структуру в цикле, и для каждого цикла я хочу иметь новый экземпляр (копию) в Qlist этого экземпляра.
Я считываю данные из файла (xml) и сохранюданные в этом списке QList.
После например. 4 цикла, QList содержит только одну структуру ...
typedef struct structure_Anf
{
public:
typedef struct structure_Art
{
public:
QString Art = "";
}
structure_Art_t;
QString Num = "";
QList <structure_Art_t> ArtList;
}
structure_Anf_t;
QList <structure_Anf_t> FullAnfList; // holds the full list of structures
structure_Anf_t struc_act_Anf; // holding actual used instance of structure
void test
{
for ( int i=0; i < 5; i++) // add some data
{
struc_act_Anf = {};
struc_act_Anf.Num = "foo" + i;
structure_Anf_t::structure_Art_t struc_new_Art;
for (int x = 0; x < 3; x++) // add some data to Art
{
struc_new_Art.Art = "bar" + x;
ArtList.append (struc_new_Art);
}
FullAnfList.append (struc_act_Anf);
}
}
Редактировать: Некоторые незначительные изменения в коде.
Как я писал выше, после цикла i-times-FullAnfList. count () = 1, а не 5, как ожидалось.