Я нашел ответ для классов C Structs и C #, но вернулся с пустыми руками относительно C ++.
РЕДАКТИРОВАТЬ: В C, вы не можете.
В C # это метод GetProperties ().
Контекст : у меня есть класс C ++ с открытыми атрибутами (скажем, Point с X, Y, Z). Я хочу отправить эти атрибуты через UDP клиенту Java. Моя идея состояла в том, чтобы создать буфер байтов (char *) с тремя атрибутами (я позаботился о проблемах с порядком байтов).
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) );
}
Я хочу, чтобы мой интерфейс был эволютивным, поскольку точка может получить четвертое, пяти или n-е измерение, и я хочу, чтобы мой prepareForUdp () был (относительно) универсальным.
У меня вопрос: как мне пройти (или перебрать) мои атрибуты?