|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre actif
![]() Guillaume Étudiant Inscription : juin 2009 Messages : 203 ![]() |
Bonjours à tous !
Je vous sollicite aujourd'hui car je recherche activement une solution. J'aimerais que dans la définition d'une structure, ou d'une classe, je puisse définir explicitement l'adresse relative d'un attribut membre dans un objet. Bien entendu, aillant cherché activement, je n'ai pas réussi à trouver mon bonheur, et m'en remet donc à vous et vos connaissances. (Sinon je ne posterais pas )Permettez moi de vous expliquer quel en ai le but : Je dispose de structures pour faire du calcul vectoriel en 2, 3 et 4 dimension. Code :
Code :
Code :
Code :
Si vous avez une solution à me proposer, pour ce résultat je suit preneur ! ![]() Je vous remercie de votre lecture, ainsi que de vos réponses éventuelles. Très cordialement. |
||||||||
|
00
|
|
|
#2 |
![]() ![]() Cyrille Network programmer Inscription : juin 2010 Messages : 1 539 ![]() |
Bonsoir,
peut-être qu'avec des union tu peux arriver à un résultat satisfaisant. |
|
|
10
|
|
|
#3 | ||||||
|
Membre actif
![]() Guillaume Étudiant Inscription : juin 2009 Messages : 203 ![]() |
Bonsoir,
Tout d'habort, merci du conseil ! Je me suis donc plongé plus profondément dans les unions et ai découvert qu'on pouvait en déclaré des anonymes, de même pour les structures. Ainsi je viens de réussir à l'instant de faire ce que je voulais comme ceci :Code :
Code :
Code :
Connaitriez vous un moyen pour remédier à ce problème, autre que redéfinir tout les classes dans le cas particulier de float et de double ? Et dans le cas ou TYPE serait une classe ? (pour la gestion de float 128bits par exemple ...) Aussi, j'aimerai que tout les méthodes disponibles dans vec2_n0 soit aussi disponible dans les autres vec2_XX mais sans faire de copier collé de celles ci, connaitriez vous un moyens ? J'avais pensé à un #include dans la porté de la structure ... Qu'en pensez vous ? N'aurez vous pas quelque chose de plus "propre" ? |
||||||
|
00
|
|
|
#4 | ||||||||||
![]() ![]() |
Salut,
Fais déjà attention au fait que, tel que tu écris le code, tu obtiens le nombre de bits de tes données membres, ce qui n'est sans doute pas ce que tu souhaites, étant donné que, quoi qu'il arrive, les adresses sont incrémentées par bytes (vu que sizeof(char) == 1 ( Ceci dit, il est possible de faire quelque chose de pas mal en rajoutant deux argument template supplémentaires (pour autant que tu veuilles obtenir les membres successifs uniquement): Le premier serait, par exemple, l'indice de la donnée membre de début et le second serait le nombre des données membres que tu souhaites avoir, sous une forme proche de Code :
Code :
/* "ancienne" forme */ Code :
/* "ancienne" forme */ Code :
/* "ancienne" forme */ Code :
__________________
en bas de page
|
||||||||||
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Guillaume Étudiant Inscription : juin 2009 Messages : 203 ![]() |
Bonjour,
Sa me semble pas mal ce que tu me proposes ... J'achète ! Merci bien ! ![]() C'est toujours agréable ce forum et ses réponses de qualités ! Je passe le sujet en résolu. |
|
00
|
Copyright © 2000-2013 - www.developpez.com