指向父C ++的节点列表

时间:2014-04-06 17:03:38

标签: c++ pointers vector nodes

我将自定义数据结构存储在列表中,每个都指向它的父级。

这是数据结构

struct block{
    int someVal;
    block * parent = 0;
}

我需要用“块”填充列表,每个人都需要指向其父级,我初始化如下:

block Q;
std::vector<block> something;   // assume this is filled with 4 blocks

我初始化列表中的第一个对象,让父指向自身(识别最后一个元素的简单方法)

something[0].parent = &something[0];

至于设定其他人,这是我的逻辑:

for(int i = 1; i < 3; i++){
    something[i].parent = &Q;
    Q = something[i];
} 

现在,这看起来应该产生类似的东西:

something[0].parent = #address of itself
something[1].parent = #address of 0
something[2].parent = #address of 1
something[3].parent = #address of 2

但实际上它将所有内容分配给某些事物的内存位置[0]

为什么会发生这种情况?

0 个答案:

没有答案