0
votes

Réécriture d'une petite définition C - Fonction C ++ "normale"

J'ai trouvé ce morceau de code et " sculpté le sculpté " de : xxx

Je voudrais ré-écrire dans une fonction normale , mais je ne sais pas comment. Quelqu'un peut-il aider?

pour clarification:

  • Ce que je veux réaliser ici, lorsque ce petit morceau de code fonctionne en C ++ aussi tel qu'il est?

    J'aimerais comprendre ce que c'est et comment le ré-écrire moi-même à l'avenir.

  • Qu'est-ce que j'utilise?

    Extraction RVB couleur de pixel unique.

  • Combien de temps suis-je codant en C ++ et dans quel environnement?

    Je suis une sélection de coquille plus que Coder C ++ sur Linux (Mint 19), g ++ - 8 , au total a dépensé environ une demi-année en C ++ uniquement.

  • Pourquoi ne-je pas simplement #include ?

    Je ne pense tout simplement pas que j'en ai besoin, mieux coller avec x11 / xlib.h je crois, corrigez-moi si je me trompe.


3 Réponses :


4
votes

La documentation appelle cette fonction ; éventuellement ils ont fait une macro à la place pour "performance" et considéré comme une mise en œuvre comme si elle; Je n'aurais pas mais d'accord.

Mais cela signifie que la documentation vous indique les types d'arguments et le type de retour, qui est tout ce que vous avez besoin de savoir. P> xxx pré>

vous déjà Connaître la mise en œuvre: p>

unsigned long XGetPixel(XImage* ximage, int x, int y)
{
    return (*ximage->f.get_pixel)(ximage, x, y);
}


0 commentaires

2
votes

Sans types de connaissances, vous pouvez faire quelque chose comme: xxx


0 commentaires

0
votes

Je ferais @ LightnessRacesby-SA3.0 Réponse Inline et Ajouter const xxx


4 commentaires

Avantages de Inline en C ++ (ou C)


alors retirez de là.


Copier - collé votre code de définition et vscode gradura la dernière partie, donc je devrais probablement utiliser en ligne __attribute __ ((toujours_inline)) ...: - | Se fatiguer, mais merci, je ne l'ai pas encore reproché, mais je crois que vous avez fait l'inine de vitesse, non?


Oui. J'ai peur que le code vs ne comprendra pas correctement car ces macros sont évaluées pendant les compilations