我找到了关于C Structs和C#类的答案,但是在C++方面一无所获。
编辑:在C中是不可能的。
在C#中,可以使用GetProperties()方法。
上下文: 我有一个具有公共属性的C++类(比如一个带有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()方法是(相对)通用的。
我的问题是:如何循环(或迭代)我的属性?