【发布时间】:2018-12-16 14:50:43
【问题描述】:
我有一个班级成员:
std::vector<std::vector<CellState*> > State;
Cellstate 类型是一个结构体:
struct CellState
{
bool state;
int x;
int y;
};
使用同一个类的方法,我想读/写这个结构的元素。我能想到的所有方法都失败了。我有很多关于 C++ 和 STL 的好书,但似乎找不到相关信息。我不知道如何取消引用这种指针。
明确地说,我想这样做:
State[x][y].state = FALSE;
除了明显更正以说明指针取消引用。
【问题讨论】:
-
为什么没有
std::vector<std::vector<CellState> > State;? -
@NeilButterworth 虽然这可能比
std::vector<std::vector<CellState*> > State;更好,但我不愿意相信需要一个细胞状态列表的列表,因为细胞可能会形成它们所建模的任何矩形块。跨度> -
@Baum 我们似乎有向量的向量,而不是列表的列表。
-
我需要指针,因为 Windows API 在这种情况下需要指针。另外,我真的很好奇如何做到这一点!
-
@NeilButterworth
std::vector实现了一个事物列表,尽管它不被称为“列表”。它恰好将其元素存储在连续内存中这一事实并没有改变这一事实。