Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Comment mémoriser les strings:
- - dans les variables
- - sur la stack (variable de stack)
- Possibilité 1:
- - on a un pointeur du string dans la variable
- => De fait on peut utiliser la tagged union mais il faut bien
- faire attention au niveau des allocs/desallocs
- - on a un pointeur du string sur la stack:
- - soit c'est une copie et donc ce pointer est l'owner
- - soit on a un pointeur non owner et le string est localisé dans
- une variable d'instance
- Possibilité 2 (pas besoin d'union):
- Les strings sont dans une tableau spécial a part, et on utilise uniquement
- des indexes vers ce tableau.
- Probleme: comment gérer les allocs/deallocs ?
- Allouer un string:
- - il faut une liste des cellules non allouées (les "trous"), que l'on
- update a chaque fois qu'on detruit un string. Si cette liste est vide on
- agrandis le tableau, sinon on utilise le premier element dispo.
- Desallouer un string: trivial
- Gérer les variable string sur la stack: comme predecemment deux façons de
- faire (aucune idée de comment c'est géré dans GMS):
- - quand on push on fait une copie
- - quand on push on donne une "reference"
Advertisement
Add Comment
Please, Sign In to add comment