我有以下分組佈局:變量類陣列
struct PacketLayout
{
int GateCode;
BYTE StringLen;
char String[StringLen];
BYTE ServerStatus;
BYTE ServerStorage;
BYTE ServerNumber;
}
的類是這樣的:
class ServerInfo
{
short PacketSize; //Size of the whole packet
BYTE TotalServers; //total of PacketLayout structs
PacketLayout Server[TotalServers];
int GlobalSecCode;
short EncryptedPacketSize; //Same as the first member, just xored
}
所以問題我已經是一種製備類內的可變大小的數組或一個結構,其大小取決於指向的最後一位成員BYTE StringLen(用於結構)和BYTE TotalServers(用於類)。
我不知道這是什麼解決方案,也許實現一個模板?,如果這樣我可以看到一個例子(我還不熟悉模板)也想引用我的成員名稱而不計算指針位置由我自己(因爲我現在正在做)。
謝謝。
我不確定你的意思是:*「我想引用我的成員名稱而不用自己計算指針位置」* – Flexo 2012-08-01 19:10:04
標準C++中沒有解決此問題的方法。除非在編譯時知道ServerInfo.TotalServer和PacketLayout.StringLen的值,否則模板不會有所幫助。你只需要自己計算偏移量。 – jahhaj 2012-08-01 19:10:13
Flexo現在我正在計算指針位置由我自己的字符串成員,因爲沒有辦法使其編譯時間。 – ffenix 2012-08-01 19:12:11