我想要一个链表,其中有一个具有动态大小的变量,因为我只想为不同节点中的变量分配不同的大小
例如,node1有一个大小为1的数组变量,但node2有一个尺寸为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
,请参阅参考文档或您最喜欢的书。