2016-08-20 44 views
-3

我正在寻找一种方法来获取未预先确定数量的矩阵,这些矩阵可以稍后在C++中自动访问。例如,我希望用户能够根据需要多次输入矩阵的值。但是,我需要能够通过使用for循环访问每个矩阵来使用每个矩阵。在C++中存储未定义数量的矩阵

到目前为止,我不知道如何做第二部分,我已经看到地图被用来做第一部分。但是,据我所知,矩阵图不会让我用变量调用每个矩阵。

任何帮助,非常感谢。

+0

欢迎来到stackoverflow.com。请花些时间阅读[帮助页面](http://stackoverflow.com/help),尤其是名为[“我可以问些什么话题?”]的章节(http://stackoverflow.com/help/)讨论话题)和[“我应该避免问什么类型的问题?”](http://stackoverflow.com/help/dont-ask)。另请[请阅读如何提出好问题](http://stackoverflow.com/help/how-to-ask),并学习如何创建[最小,完整和可验证示例](http:// stackoverflow .COM /帮助/ MCVE)。 –

回答

0

如果我能够清楚地理解你,你需要一个动态容器,它允许你存储未定数量的对象(即矩阵)。在C++中,您可以使用std::vector<Object>容器,该容器可以通过特定类型的对象轻松调整大小(在上例中 - Object,在您的情况下为矩阵)。

载体的作用就像一个典型的阵列,当谈到访问它的元素,就像你想:

std::vector<Matrix> matrices; 
matrices[0] = ..... // anything 

链接到参考:http://www.cplusplus.com/reference/vector/vector/


然而std::map容器可以这样做以及。
矩阵图可以允许您通过其密钥访问每个矩阵,例如, a std::string name

您的最终解决方案取决于目的。

+0

谢谢。然而,我需要存储未定义数量的矩阵,以便每个人都需要一个名称。有没有一种方法可以使名称成为每个循环增加的变量的值? – SAT

+0

@SAT,有很多方法可以实现你想要的。你可以将你的矩阵打包到一个包含'std :: string name'的类中,并在向量中使用它。最终你可以将某种'std :: map '放入一个向量中,所有东西都取决于目的。 – 5208760

+0

根据你所说的 - 矩阵图可以让你通过它的键访问每个矩阵,更新我的答案。 – 5208760