Re: Modificare un vettore durante l'iterazione della stessa.
Von: ?manu* (paolini@no.math.unifi.spam.it) [Profil]
Datum: 18.01.2008 06:50
Message-ID: <A6Xjj.54568$8j3.28428@tornado.fastwebnet.it>
Newsgroup: it.comp.giochi.sviluppo
Datum: 18.01.2008 06:50
Message-ID: <A6Xjj.54568$8j3.28428@tornado.fastwebnet.it>
Newsgroup: it.comp.giochi.sviluppo
St4lk3r wrote: > "?manu*" <paolini@NO.math.unifi.SPAM.it> ha scritto nel messaggio > news:cbPjj.54298$8j3.33405@tornado.fastwebnet.it... > >>St4lk3r wrote: >> >>>Mettiamo caso che abbia un vettore di puntatori ad oggetti che viene >>>iterato ad ogni loop di gioco. >>> >>>E' probabile che all'interno di questo loop il numero di elementi del >>>vettore possa cambiare. In questo caso non appena il programma sta per >>>passare al prossimo step di iterazione esso crasha. >> >>Hai due thread che accedono contemporaneamente al vettore? Oppure il >>vettore viene modificato dalle funzioni chiamate all'interno del loop? >> >>E. > > Le funzioni che vengono chiamate modificano il vettore. Visto che stai chiamando gli oggetti contenuti nel vettore, l'unica cosa sensata che un oggetto potrebbe fare col vettore è quello di rimuovere se stesso. Se fai altre modifiche penso che dovresti ripensare il codice. Se invece il punto è che l'oggetto vuole rimuovere se stesso, questo dovrebbe essere trattato in modo speciale. Ad esempio invece di rimuovere il puntatore dal vettore potresti metterlo a NULL e poi rimuoverlo successivamente. E.[ Auf dieses Posting antworten ]
