链表中的动态大小数组

时间:2016-01-08 14:25:40

标签: 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];

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

1 个答案:

答案 0 :(得分:2)

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

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

要使用std::vector,请咨询reference documentation或您最喜欢的book