【问题标题】:Std vector of std matrices (vector of vectors) in c++c++中的标准矩阵的标准向量(向量的向量)
【发布时间】:2015-02-17 08:25:23
【问题描述】:

我有一个向量的标准向量说 A,定义为;

    std::vector<std::vector<double> > A (6,std::vector<double>(6));

我想创建另一个向量(比如大小为 8 的 QQ),我想在其中存储每一行 我的向量 A、B、C ... 等都具有相同的大小(6x6)。

有谁知道如何初始化向量QQ并达到它的索引?

【问题讨论】:

  • 展示您已经尝试过的方法以及为什么没有奏效对您来说是最有用的。
  • 在这里,阅读一个很好的参考:en.cppreference.com/w/cpp/container/vector。记住一个向量的向量仍然是一个向量。

标签: c++ vector multidimensional-array


【解决方案1】:

3 维向量遵循与 2 维向量相同的格式。如果 A, B, C ... 被定义为

std::vector<std::vector<double> > A (6,std::vector<double>(6));

那么他们的类型是std::vector&lt;std::vector&lt;double&gt; &gt;。要创建一个包含 8 个向量的向量,您需要使用

std::vector<std::vector<std::vector<double>>> someName(8);

如果你想一次性初始化整个东西,那么语法变成:

std::vector<std::vector<std::vector<double>>> someName(8, std::vector<std::vector<double>>(6,std::vector<double>(6)));

【讨论】:

  • 谢谢@NathanOliver,这就是我要找的。​​span>
【解决方案2】:

你期待吗?

 vector<vector< vector<double> > >
                QQ(8, (vector<vector<double> >
                   (6,vector<double>(6,-5))));
                                        ^
                                    initialize here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2014-06-02
    • 2013-05-06
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多