Aktywne Wpisy

teslamodels +106
Mój największy życiowy sukces to brak gówniaków.
31 lat zaraz idę spać i bez problemów pośpie do 14.
Żadnego gówniaka nie będę musiał zawieść do szkoły.
Do tego brak kobiety i zbędnego #!$%@?.
Dużo tu osób które chcą być w związku, ale biorąc pod uwagę plusy i minusy przeważają minusy.
Dobra dosyć #!$%@? pora spać bez problemów
( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°
31 lat zaraz idę spać i bez problemów pośpie do 14.
Żadnego gówniaka nie będę musiał zawieść do szkoły.
Do tego brak kobiety i zbędnego #!$%@?.
Dużo tu osób które chcą być w związku, ale biorąc pod uwagę plusy i minusy przeważają minusy.
Dobra dosyć #!$%@? pora spać bez problemów
( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°

czarna-malwa +17
![[AMA] Paweł Fajdek, pięciokrotny mistrz świata w rzucie młotem](https://wykop.pl/cdn/c0834752/cb6c48282d3c4c70261f8afb5f9fa77e36d122724502ac5937f39f268d049939,q70.jpg)




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?
for (Group * g : db.groups) { g->restore(); }ale teraz próbowałem, że może foreach jest #!$%@? czy coś... ale nie jest, ten sam błąd. :Pauto it = db.groups->get_all().begin();while (it != db.groups->get_all().end()) {
Group * g = ((Group*) *it);
bool b = g->get_to_create();
g->restore();
if (!b) {
++it;
}
}
tak działa... ale #!$%@?. xD i nie podoba mi się bo nie chcę dwa razy warunku sprawdzać (w restore i tutaj, w przyszłosci coś zmienić i #!$%@?...)
@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)