在向量中设置向量

时间:2015-03-29 17:58:35

标签: c++ vector

我希望设置一个应用程序,例如10行,每行内有10个空格,分成不同的大小。

根据我获得的信息,我被告知最好的方法是在矢量中设置矢量。

老实说,我对矢量有一定的了解,但我真的不确定如何将矢量放到另一个矢量中。

有人能为我提供一个如何做到这一点的例子吗?

我在尝试研究这个问题时发现的最好的例子是 -

#include <iostream>
#include <string>
#include <vector>

int main() {
    std::vector<std::vector<std::string>> stories;
    stories.push_back({"Once", "upon", "a", "time"});

    for (const auto& x : stories)
        for (const std::string& str : x)
            std::cout << str << ' ';

    return 0;
}

但是我不确定这是最好的方法。

此致

2 个答案:

答案 0 :(得分:0)

您所需要的只是vector<vector<int>>。这意味着一个由int类型的向量组成的类型的向量。请注意,此处的类型int可以是 改成任何其他类型。我在这里用它来表示。

如评论中所述,您使用vector<type>,其中type可以是任何内容。因此,在上面的示例中,它已被vector<int>取代。

请注意,在C ++ 11之前,您需要在两个尖括号之间留一个空格。

答案 1 :(得分:0)

嗯,语法如上所述:std::vector<std::vector<int>> matrix;

  

&#34;但我不确定这是最好的方法。&#34;

这取决于您的实际使用情况。只要您知道应用程序中有10行和10列的固定大小

std::array<std::array<int,10>,10> matrix;

可能比std::vector<>方法更好地为您服务。