c++ - 链表中的动态大小数组

标签 c++ arrays linked-list

我想要一个链表,带有一个动态大小的变量, 因为我只想为不同节点中的变量分配不同的大小。
例如,node1 有一个大小为 1 的数组变量,但节点 2 有一个大小为 10 的数组变量,而 node3 永远不会分配这个数组。 像这样:

struct st{
   int * var_dynamic;
   int x;
};

现在我要初始化它们。对于静态的,它是这样的:

struct st st1;
st1.x=1;

但是我怎样才能初始化动态的呢?
是这样的吗?

st1.var_dynamic= new int [100];

如果是,这种方式是否正确有效?

最佳答案

最惯用、最直接、最安全的解决方案是简单地使用 std::vector:

struct st
{
  std::vector<int> var_dynamic;
  int x;
};

要使用 std::vector,请参阅 reference documentation , 或者你最喜欢的 book .

关于c++ - 链表中的动态大小数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34679334/

相关文章:

c++ - Hashmap 适用于 X 个元素?

php - 字符串的键和索引 - 内爆

c - ANSI C 书籍链接列表章节中的错误编译示例

java - 递归,每一步导出信息

c++ - gettext字符编码

c++ - iOS 游戏中的脚本语言

c++ - 在函数内调用 "continue"

arrays - 是否有内置函数来清除所有变量值

python - 如何通过多维数组的第一列搜索唯一元素

c++ - 带标题的链表