Aktywne Wpisy
Urynowyurynator +124
Jak długo będzie powtarzana ta z-----a narracja, że jak społeczeństwo się bogaci to ludzie nie chcą mieć dzieci?
Już tyle razy było to obalane na podstawie Polski i innych krajów.
Zrozumcie barany, że najbogatsi w kraju mają sporo dzieci, bo mają firmy, majątki, są lekarzami itp i wiedzą, że są w stanie zapewnić dzieciom dobrobyt.
Z drugiej strony jest patologia i biedota, która też zazwyczaj ma sporo potomków bo mają w------e w to, czy te
Już tyle razy było to obalane na podstawie Polski i innych krajów.
Zrozumcie barany, że najbogatsi w kraju mają sporo dzieci, bo mają firmy, majątki, są lekarzami itp i wiedzą, że są w stanie zapewnić dzieciom dobrobyt.
Z drugiej strony jest patologia i biedota, która też zazwyczaj ma sporo potomków bo mają w------e w to, czy te
filip-pietrasik +37





for (auto it = db.groups.begin(); it != db.groups.end(); ++it) {((Group*) *it)->restore();
}
gdzie db.groups to QList, a Group::restore() emituje sygnał który może ale nie musi wywalić ten pointer z listy; chodzi o to, że w trakcie iteracji ta lista może się zmienić... no i to oczywiście powoduje problemy... jeżeli 3 lub więcej pointerów zniknie (nie ma problemu dla dwóch lub jednego) to przedostatni pointer wskazuje na zwolnioną już pamieć no i ten cały seg fault. Co zrobić żeby iteracja dalej trwała i nie gubiła porządku?
@hesar: czyli jak? restore() ma usuwać to co wcześniej oznaczyłem do usunięcia właśnie...
1) zrobić głęboką kopię listy i po niej iterować
2) uƶywać indeksów, czyli
for(int i = 0; i < db.groups.size(); ++i){ ... }(zakładając, ƶe usuwanie działa tylko wprzód)