怎么将vector<string>存到vector<vector<string>> &类型,效果是什么样的
时间: 2023-10-22 14:13:22 浏览: 74
将一个`vector<string>`存储到`vector<vector<string>>`中,可以通过以下代码实现:
```cpp
vector<vector<string>> vec2d;
vector<string> vec1d = {"hello", "world"};
vec2d.push_back(vec1d);
```
这样,就将一个一维的`vector<string>`存储到了二维的`vector<vector<string>>`中。
存储后的效果是,`vec2d`中有一个元素,该元素是一个`vector<string>`,其中包含了两个字符串元素。如果有多个`vector<string>`被存储到`vec2d`中,那么`vec2d`就会成为一个二维的矩阵,其中每一行都是一个`vector<string>`,每一列就是`vector<string>`中的字符串元素。
相关问题
怎么将vector<string>存到vector<vector<string>>中,效果是什么样的
将一个 `vector<string>` 存储到 `vector<vector<string>>` 中,可以通过 `push_back` 方法实现。具体操作如下:
```cpp
vector<string> subVec1 = {"A", "B", "C"};
vector<string> subVec2 = {"D", "E", "F", "G"};
vector<vector<string>> vec;
vec.push_back(subVec1);
vec.push_back(subVec2);
```
这样,`vec` 中就包含了两个 `vector<string>`,分别是 `subVec1` 和 `subVec2`。
存储结果如下:
```
vec:
[
["A", "B", "C"],
["D", "E", "F", "G"]
]
```
这样存储后,可以通过 `vec[i][j]` 访问对应位置的元素。例如,`vec[0][1]` 的值为 `"B"`。
怎么将vector<string>存到vector<vector<string>>的指定位置中,效果是什么样的
可以使用下标操作符`[]`来访问`vector<vector<string>>`中指定位置的`vector<string>`,然后再使用`push_back`函数将`vector<string>`插入到指定位置中。示例代码如下:
```cpp
vector<vector<string>> myVec; // 定义一个vector<vector<string>>对象
// 在第0个位置插入一个vector<string>对象
myVec[0].push_back("hello");
myVec[0].push_back("world");
// 在第1个位置插入一个vector<string>对象
myVec[1].push_back("foo");
myVec[1].push_back("bar");
// 输出myVec中的所有元素
for (const auto& vec : myVec) {
for (const auto& str : vec) {
cout << str << " ";
}
cout << endl;
}
```
输出结果如下:
```
hello world
foo bar
```
注意,如果要访问`vector<vector<string>>`中的指定位置,必须确保该位置已经存在,否则会出现访问越界的错误。可以使用`resize`函数来调整`vector<vector<string>>`的大小,这样就可以安全地访问其中的元素了。
阅读全文