如何在 C++ 中使用向量<向量<字符串>>?

dev*_*ved 2 c++ arrays string vector

我在 C++ 代码中看到以下内容:

vector<vector<string>> arr(n);
Run Code Online (Sandbox Code Playgroud)

我无法理解如何使用它......

谁能解释它是什么以及如何使用 var arr

dWi*_*der 6

这是大小为 n 的二维字符串数组的定义。

您可以将上部向量中的所有位置用作另一个字符串向量。

看下面的例子:

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

using namespace std;

int main()
{
  string a = "AAAA";
  string b = "BBBB";
  string c = "CCCC";
  int n = 3;
  vector<vector<string>> arr(n);

  arr[0].push_back(a); // I add string 'a' to end of first vector in 'arr' 
  arr[0].push_back(b);
  arr[1].push_back(c);
  for (int i = 0; i < arr[0].size() ; i++) { // print all string in first vector of 'arr'
     cout << arr[0][i] << " ";
  }
} 
Run Code Online (Sandbox Code Playgroud)

  • `n` 是上向量的大小。它不是 3D 而是 2D (如果您将 string 视为 char 数组,那么它就是 3D。您尝试过 `arr[0][0].push_back(a)` 吗?当您在 String var 上使用数组方法时,它无法完成(`arr[0][0]`). 你可以像 `String temp = arr[0][1]; arr[0][1] = arr[1][0]; arr[1][ 那样进行交换0] = temp;`希望有帮助 (2认同)