Bonjour à tous,
Je suis tombé sur un truc vraiment bizzard... Normalement, il me semble que dans tous les languages, si l'on a:
et en actionscript voici ce qui peut ce passer avec un passage de Array:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //Pour l'exemple en C++ void modif(int i){ a++; } int a=0; modif(a); cout << a; //Renvera 0
Ceci me renvoi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 trace("Pour les string:"); var s:String = new String("a"); trace("s -> " + s); modifStr(s); trace("s -> " + s); trace("Pour les array:"); var a:Array = new Array(["a"]); trace("a -> " + a); modifArray(a); trace("a -> " + a); function modifStr(str:String){ str += "b"; trace("str -> " + str); } function modifArray(arr:Array){ arr.push("b"); trace("arr -> " + arr); }
Donc pour les string tout va bien mais en ce qui concerne les Array, actionscript agit comme si on utilisait des pointeurs...Pour les string
s -> a
str -> ab
s -> a
Pour les array
a -> a
arr -> a,b
a -> a,b
Si quelqu'un a une explication je suis preneur!
++
ChrOnOs
Partager