我正在尝试将数据流直接转换为一个结构,该结构实际上具有可变数量的其他结构作为成员。这是一个例子:
struct player
{
double lastTimePlayed;
double timeJoined;
};
struct team
{
uint32_t numberOfPlayers;
player everyone[];
};
然后我打电话:
team *myTeam = (cache_team*)get_stream();
这应该像某种序列化一样工作,我知道我的流的结构完全如上所示,但我有 numberOfPlayers 是一个变量的问题。
我的流以 4 个字节开始,代表球队的球员人数,然后它包含每个球员(在这种情况下,每个球员只有 lastTimePlayed 和 timeJoined)。
发布的代码似乎正在工作,由于默认分配和复制构造函数,我仍然收到编译器的警告,但我的问题是有可能以其他方式,更好的方式来做到这一点。
顺便说一句,我的流实际上是到文件的直接映射,我的目标是像使用文件本身一样使用结构(该部分工作正常)。