包含结构的向量的向量
Vector of Vectors Containing Structs
我定义了一个结构
struct path{
char type;
bool visit;
bool inPath;
int level;
}
我还定义了这种类型的结构向量的向量
vector < vector<path> > spaceStation(numLevels*levelSize,vector<path> (levelSize));
我有两个问题。
1)我是否定义了向量,以便行数与(numLevels*levelSize)相关,列数与levelSize相关
2)访问向量的各个元素时,如何在其中设置结构的元素。我尝试使用 .at() 成员函数收效甚微
回复:1
是的。 但我不禁觉得你想这样做:
vector < vector<path> > spaceStation(numLevels,vector<path> (levelSize))
请注意,使用术语"行"和"列"完全是关于向量的想象。 你只是在另一个向量中有一个向量。 它就像一个数组数组 - 没有暗示特殊的几何形状。
回复: 2
因为您有一个向量,所以您需要使用两个索引,而不仅仅是一个:
spaceStation[level][pathindex].visit = true;
其中spaceStation[level]
返回索引 level
处的向量,然后获取位置 pathindex
处的元素(这是结构的一个实例),最后修改该结构中的值。
对于 Q1,你是对的。例如:4x4 维度向量。
vector
> vec(4, vector(4));
对于 Q2,要访问路径,您不能执行以下操作:
例如,spaceStation[2][3]访问第2行第3列的数据。
然后你可以做:
空间站[2][3].访问以访问结构内部的元素。
相关文章:
- 将结构向量排序为子组
- 访问存储在向量C++中的结构的多态成员
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何在 c++ 中创建结构向量的映射
- 带unique_ptr的结构向量
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 将 int 映射到 C++ 中的向量结构
- 如何在 c++ 中的向量结构中使用结构向量
- 无法将值存储到向量结构中
- 无法将.CSV文件读取为代表向量结构的类
- MPI,C,派生类型,向量结构
- 向量结构的打印成员
- 在 c++ 中对向量<结构 S> 进行二分搜索?
- 不需要删除向量<结构A*>
- 在C++中循环向量结构<string>
- 将字符串放入字符串的向量结构中
- 共享内存中的向量结构
- 我的向量结构没有像预期的那样迭代