j'utilise une bibliothèque d'interfacage avec des langages de scripts et je me demande ce qui est le plus naturel.
Prenons l'exemple:
ici, Value est un simple wrapper (une sorte d'union) qui permet d'accéder en runtime aux membres d'une structiure. Je vous passe sur toute la machinerie interne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Object a; Value v(a); Value v2(v); Value name = v("name");
Object est une structure dont un des membres (name) est une chaîne de caractères.
On a donc une instance de Object (a). On la place dans un container "Value". Le container permet d'accéder a sa propriété "name" par son nom.
Et c'est ce qu'on fait.
Tout cela marche très bien mais je me demande ce qui est le plus naturel: est ce que une Value contient une copie de la valeur ou bien une référence?
Pour moi il est naturel que ce soit une référence mais je me rends compte que ca pourrait ne pas être naturel pour tous.
Dans l'exemple plus haut, que pensez-vous:
- v contient une copie de a ou une référence?
- v2 contient une copie de a ou une référence?
- name contient une copie de la propriété ou une référence?
ce qui me parait logique moi, c'est que si je fais
alors a.name vaut toto. mais je me demande si c'est vraiment ce que l'on pense.
Code : Sélectionner tout - Visualiser dans une fenêtre à part v("name") = "toto"
et si v("name") = ""... est naturel, qu'en est il de
est ce que je viens de changer a?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Value name = v("name"); name = "tata";
Qu'en pensez vous?
Partager