nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

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
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 ]