Salut a tous,
Je ne comprend pas cette expression, est ce que quelqu'un peut m'expliquer svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part size++[result] = c
Salut a tous,
Je ne comprend pas cette expression, est ce que quelqu'un peut m'expliquer svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part size++[result] = c
L'explication t'a déjà été donnée ici http://www.developpez.net/forums/sho...96&postcount=4 il me semble...
Salut, si je ne me trompe pas, cette expression est équivalente à:
Salutations
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 *(size + result)= c; /* stock c à l'adresse pointée par size + result (voir arithmétique des pointeurs)*/ size = size + 1; /* incrémente size */
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Ou plus simplement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 result[size] = c; size++;
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Autant pour moi, c'est plus lisble!!!Envoyé par Médinoc
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Celui qui écrit du code comme ça mérite le miel et les fourmis rouges.Envoyé par Pitou5464
![]()
Ouais, d'accord à 100%, même si ce code, c'est déjà un peu ce que tu dis, donc pas la peine de s'acharner plus que ça (je plaisante, bien sûr) !
Je ne suis même pas sûr que ce soit du C-ANSI, car il est normalement interdit d'effectuer plus d'un effet de bord entre deux "points de séquence" ("sequence point", je crois, dans le man de gcc), même si il semblerait qu'il existe des desaccords sur le sens de cette expression.
Quelqu'un pourrait-il m'en dire plus sur ces "sequence points", car le notion que j'en ai n'est pas très précise ? Merci d'avance.
C'est défini dans la normeEnvoyé par InOCamlWeTrust
http://www.open-std.org/jtc1/sc22/wg...docs/n1124.pdf
![]()
Merci beaucoup pour le lien.
Il semblerait que la dernière norme (si c'est bien celle-ci) soit plus permissive que la norme ANSI. La norme ANSI spécifiait qu'il ne pouvait y avoir qu'un seul effet de bord entre deux points de séquence, alors que cette norme-ci dit seulement que les effets de bords contenus entre points de séquence ne peuvent pas se chevaucher : en clair, arrivé à un point de séquence, tous les effets de bords précédents doivent avoir été évalués, et ceux à venir ne doivent pas avoir pris effet.
La définition des points de séquence est d'ailleurs assez claire (annexe C).
Il n'y a pas de changement sur le fond. Ce genre de choses a toujours été autorisé.Envoyé par InOCamlWeTrust
C'esy bizarre, on se demande alors pourquoi il y a tant d'efforts pour les reformuler. Quelques exemples pour le comité C après 2000 (et le comité C++ est actif lui aussi et va vraissemblablement les supprimer de la prochaine norme pour les remplacer par des contraintes entre expressions et il n'est pas invraissemblable que le comité C reprenne la formulation du comité C++).La définition des points de séquence est d'ailleurs assez claire (annexe C).
http://www.open-std.org/jtc1/sc22/wg...docs/n1188.pdf
http://www.open-std.org/jtc1/sc22/wg...docs/n1013.htm
http://www.open-std.org/jtc1/sc22/wg...docs/n1008.htm
http://www.open-std.org/jtc1/sc22/wg...docs/n1001.htm
http://www.open-std.org/jtc1/sc22/wg.../docs/n993.htm
http://www.open-std.org/jtc1/sc22/wg.../docs/n927.htm
http://www.open-std.org/jtc1/sc22/wg.../docs/n926.htm
http://www.open-std.org/jtc1/sc22/wg.../docs/n925.htm
Partager