我希望设置一个应用程序,例如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;
}
但是我不确定这是最好的方法。
此致
答案 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<>
方法更好地为您服务。