c++中的Double Vector问题
Double Vector issue in c++
所以我想基本上制作一个双数组,但通过向量使其动态。然而,我想我并没有完全理解这一点,因为我做错了什么,导致我的向量下标超出了范围。下面是我的代码:
std::vector<std::vector<std::string>> m_menuList;
m_menuList[0].push_back(menuType);
m_menuList[0].push_back(location);
这可能是一个愚蠢的错误或完全错误的东西,它确实编译正确,只是总是崩溃。
谢谢!
我们倾向于称之为"双矢量"2D矢量一个"三重向量"将是一个三维向量,依此类推……所有这些向量都可以称为多维向量
您的问题是外部向量是空的,因此没有m_menuList[0]
。你可以改为:
m_menuList.push_back(std::vector<std::string>(1, menuType));
这将把仅由CCD_ 2组成的向量推到CCD_。
您也可以用一定数量的空向量启动m_menuList
,这样您当前的代码就可以工作(假设您有一些整数n):
std::vector<std::vector<std::string>> m_menuList(n);
初始化后,在使用索引访问向量之前,必须先resize()
向量。
std::vector<std::vector<std::string>> m_menuList;
m_menuList.resize(1);
但是,当您插入不需要索引的对象时,可以执行以下操作:
m_menuList.push_back(menuType);
m_menuList.push_back(location);
OR
std::vector<std::vector<std::string>> m_menuList;
m_menuList.push_back(menuType);
m_menuList.push_back(location);
相关文章:
- 使用运算符 [] 引用 std::vector 上最后一个元素时出现问题<>
- 这个带有模板<类 Vector 的C++代码片段有什么问题>
- 替代在python中制作邻接列表与图形问题的字典?(如 C++ 中的 vector<vector<int&g
- C++ 中 std::vector 的内存问题
- 示例代码中使用分隔符将 std::string 拆分为 std::vector 的范围问题
- 错误 C2280 / 在 std::vector 中实例化对象时复制构造函数出现问题?
- 尝试使用初始值设定项列表构造"std::vector"的问题
- 英特尔编译器 (C++) 问题与 std::vector 上的 OpenMP 缩减
- 当我向 vector<int *> 添加元素时,我遇到了一些问题
- std::shared_ptr<std::vector有什么问题<double>>
- 带有 std::vector 和 std::queue 的 Prim's 算法,我的代码有什么问题?
- 有关std :: vector的QuickSort的问题
- C++ vector<pair<int,int>> std::all_of() 函数问题(重定向到头文件)
- C 内存管理问题,std :: vector nevere rase内存超出范围
- std::vector 和/或多态性的问题
- 在 std::vector 中使用结构来推送多个类型有什么问题?
- 使用OpenCV Vector和MATLAB时遇到问题
- 在使用 std::string 和 std::vector 将值插入 std::map 时遇到问题
- 用std::vector编写可调整大小的矢量时出现问题
- 清除并重新填充 std::vector<std::vector<T>>导致分配问题