int a = 10;
int b = a;
a += 2;
print(b); // -> 10
Les type de bases sont en réalité des struc
(équivalent au class
) ce qui as pour effet que lorsque qu'on les utilisent, leur donnée son copié et leur références ne sont pas transmisents.
De plus, Struct a un impacte moins important sur le garbage collector, donc un impacte moins important sur la mémoire.
Class
public class CustomClassInt
{
public int value;
public CustomClassInt(int _value){
this.value = _value;
}
}
CustomClassInt a = new CustomClassInt(10);
// passe la référence de la class
CustomClassInt b = a;
a.value += 2;
print(b.value); // -> 12
Struct
public Struct CustomSAtructInt
{
public int value;
public CustomClassInt(int _value){
this.value = _value;
}
}
CustomSAtructInt a = new CustomSAtructInt(10);
CustomSAtructInt b = a;
a.value += 2;
print(b.value); // -> 10