我找到了C Structs和C#类的答案,但是却在C++中空手而回。 编辑:在C中,你不能。 在C#中它是GetProperties()方法。我可以循环访问C++类的(公共)属性吗?
上下文:我有一个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()方法是(相对)通用。
我的问题是:我如何通过我的属性循环(或迭代)?
C是什么方法? – lijie 2010-11-25 14:31:47
也许如果你发布了C结构的'答案',它可能会照亮你认为是答案的东西。我看不出你将如何在C中解决它,并且不能在C++中执行相同的操作 – Jamie 2010-11-25 14:32:48
对此,我很抱歉,杰米。 C的答案是“你不能”......我会编辑我的第一篇文章。 – 2010-11-25 14:38:25