我想要一个链表,带有一个动态大小的变量,
因为我只想为不同节点中的变量分配不同的大小。
例如,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/