J'ai trouvé la réponse pour C Structs et les classes C# mais je suis revenu les mains vides concernant C++. EDIT: En C, vous ne pouvez pas. En C#, il s'agit de la méthode GetProperties().Puis-je faire une boucle sur les attributs (publics) d'une classe C++?
Le contexte: J'ai une classe C++ avec des attributs publics (disons un point avec X, Y, Z). Je veux envoyer ces attributs via UDP à un client Java. Mon idée était de créer un buffer octet (char *) avec les trois attributs (je m'occupais des problèmes d'endianness).
prepareForUdp(char * buffer)
{
int offset = 0;
int offsetValue = 4;
char tempBuffer[16];
memcpy(tempBuffer, &X_, sizeof(X_));
offset = offset + offsetValue;
memcpy(tempBuffer + offset, &Y_, sizeof(Y_));
offset = offset + offsetValue;
memcpy(tempBuffer + offset, &Z_, sizeof(Z_));
offset = offset + offsetValue;
memcpy(buffer, tempBuffer, sizeof(buffer));
}
Je veux que mon interface à évolutive, parce que le point peut obtenir un quatrième, cinq, ou un n-ième dimension, et je veux que ma méthode prepareForUdp() à être (relativement) générique.
Ma question est: comment boucler (ou itérer) mes attributs?
quelle est la méthode pour C? – lijie
Peut-être que si vous avez posté votre 'réponse' pour les structures C, cela peut éclairer ce que vous considérez comme une réponse. Je ne vois pas comment vous pourriez le résoudre en C et ne pas être capable de faire la même chose en C++ – Jamie
Je suis désolé, Jamie. La réponse pour C était "Vous ne pouvez pas" ... Je vais éditer mon premier post. –