我想要一个链表,其中一个变量具有动态大小, 因为我想在不同的节点中为变量分配不同的大小。例如,node1有一个大小为1的数组变量,但是节点2有一个大小为10的数组变量,而node3从不分配这个数组。 像这样:
struct st{
int * var_dynamic;
int x;
};
现在我想初始化它们。对于静态的,它是这样的:
struct st st1;
st1.x=1;
但是如何初始化动态的呢? 是这样的吗?
st1.var_dynamic= new int [100];
如果是,这种方式是正确有效的吗?
答案 0 :(得分:2)
最惯用,最简单,最安全的解决方案是简单地使用std::vector
:
struct st
{
std::vector<int> var_dynamic;
int x;
};
要使用std::vector
,请咨询reference documentation或您最喜欢的book。