2013-03-02 2 views

Répondre

2

En effet, tous les langages de script fonctionnent avec des pointeurs. Ils ont seulement décidé de les appeler différemment (la plupart du temps ils les appellent "références") et de cacher la complexité (ou même les possibilités) de gestion de l'allocation et de la libération de la mémoire.

Cela dit que la façon la plus simple de créer une liste chaînée dans ActionScript (ou JavaScript) serait

var node1 = {value: 1}; 
var node2 = {value: "foo"}; 
var node3 = {value: "bar"}; 

//of course this code should be localices within a separate class 
//with some nice API 
((node1.next = node2).next = node3).next = null; 

//and then use like that e.g. 
var n = node1; 
while (n) { 
    trace(n.value); 
    n = n.next; 
} 
3

Dans AS3 vous avez des références d'objet, vous n'avez pas de pointeurs exactement, mais vous pouvez obtenir une liste chaînée en utilisant les références de manière très similaire. L'avantage d'une liste liée (en général) est dans l'insertion et la suppression dans la liste (vous n'avez pas à déplacer tous les éléments comme dans l'utilisation d'un tableau). Vous obtenez toujours cet avantage en utilisant des références d'objet.

Remarque: Les objets dans AS3 sont transmis par référence, les primitives sont transmises par valeur.