gpt4 book ai didi

c++ - 实现一个指向可变大小结构的指针

转载 作者:行者123 更新时间:2023-11-30 01:28:59 28 4
gpt4 key购买 nike

我正在尝试解析返回的信息,这些信息在结构中可能包含可变数量的数据。我不确定如何有效地执行此操作,我编写了一个包含每个变量作为函数的类,该函数通过计算适当的偏移量返回数据,但是它不是很容易管理,必须有更好的方法。我读过有关 vector 的内容(对它们的经验不多),但是当我将它们添加到结构中时,它会添加额外的填充,从而将所有变量都转移过来。

例如:

struct info_t {
UINT32 signature;
UINT32 elements[NUM_ELEMENTS];
UINT32 options;
};

NUM_ELEMENTS 是动态生成的,并且仅在运行时才知道,elements 变量的大小必须恰好为 NUM_ELEMENTS,否则 options 变量将具有错误的偏移量。

如果我可以在需要时初始化结构指针,我会很高兴,但 C++ 不会让我在编译期间拥有一个未知的 NUM_ELEMENTS 变量。有任何想法吗?谢谢。

最佳答案

可变长度数组 (VLA) 不受 C++ 标准支持。
C++ 提供 std::vector 为此。

关于c++ - 实现一个指向可变大小结构的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718465/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com