我找到了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