IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Ligne de code bizarre


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut Ligne de code bizarre
    Bonjour à vous,
    Je transcrit du code C++ dans un autre language et une façon d'écrire me chatouille les neurones .....


    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
    union AnimFrame
    {
     struct
     {
      BYTE Valid;
      BYTE Total;
     };
    
     short Value;
    };
    
    AnimValue = (AnimFrame *)((BYTE *)Anim + Anim->Offset[Loop + 3]);
    long Index = Frame;
    while (AnimValue->Total <= Index)
    {
         Index  -= AnimValue->Total;
         AnimValue += AnimValue->Valid + 1;
    }

    Je ne comprend pas ce que fait la ligne en Gras ....
    J'ai tenté plusieurs approche mais il en résulte des bugs donc je ne pense pas avoir trouvé la signification de cette ligne ou j'ai une erreur ailleurs.

    Ce que j'ai du mal à comprendre dans cette syntaxe c'est que AnimValue est un 'tableau' de structure AnimValue->Valid fait référence à AnimValue[0]->Valid en fait

    C'est l'incrémentation du tableau avec la valeur AnimValue->Valid + 1 qui me bloque, je ne sait pas à quoi l'assigner.

    C'est un truc tout con je suis sure mais je voit pas.

    Une âme charitable pourrait aider un pauvre codeur qui se promène dans un langage qui n'est pas le sien ?

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Par défaut
    Pour autant que je voie, c'est de l'arithmétique de pointeur, qui déplace le pointeur d'un certain nombre de case du tableau, codé par la valeur du membre Valid de l'objet pointé courant.
    Une logique qui me paraît pour le moins tordue, surtout en recourant à une union pour n'aller chercher qu'un des deux bytes ...

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Par défaut


    AnimValue est un pointeur sur un élément de type AnimFrame.
    Incrémenter un pointeur de 1, c'est lui faire désigner l'élément suivant.
    Ajouter n à un pointeur, c'est lui faire désigner le n-ième prochain élément.
    Donc la ligne en question sert à faire progresser le pointeur de AnimValue->Valid+1 éléments.

    Si je comprends bien, il désignera toujours un AnimFrame d'entête qui sert a connaitre la taille du prochain segment/vecteur d'AnimFrame qui, eux, servent à contenir des Value.

    Et ton pointeur progresse d'entête en entête.

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut
    Merci à vous pour vos réponse.

    Je teste et revient vers vous.

Discussions similaires

  1. [LG]Traduction de 5 lignes de code
    Par barthelv dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2005, 11h13
  2. Comptabiliser les lignes de code d'un projet
    Par JPigKeud dans le forum Qualimétrie
    Réponses: 5
    Dernier message: 07/01/2005, 14h09
  3. [Debutant(e)]ligne de code sous eclipse
    Par skywalker3 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/01/2005, 17h37
  4. [netbeans][Linux] Nombre de lignes de codes
    Par sylvain_neus dans le forum NetBeans
    Réponses: 5
    Dernier message: 13/08/2004, 10h09
  5. Calculeur de ligne de code
    Par Bernybon dans le forum Autres éditeurs
    Réponses: 9
    Dernier message: 05/03/2004, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo